home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 201-220 / scopedisk208 / lha / lha.man < prev    next >
Text File  |  1995-03-19  |  108KB  |  2,822 lines

  1.  
  2.  
  3.      
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.                               LhA User's Guide
  15.  
  16.                         Version 1.10 - January 1992
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.             /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
  30.             /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
  31.             /~~\___________________________________________/~~\
  32.             /~~\___________________________________________/~~\
  33.             /~~\__/~~\_________/~~\___________/~~~~~~~~\___/~~\
  34.             /~~\__/~~\_________/~~\__________/~~~~~~~~~~\__/~~\
  35.             /~~\__/~~\_________/~~\__________/~~\____/~~\__/~~\
  36.             /~~\__/~~\_________/~~\__________/~~\____/~~\__/~~\
  37.             /~~\__/~~\_________/~~~~~~~~~\___/~~~~~~~~~~\__/~~\
  38.             /~~\__/~~\_________/~~~~~~~~~~\__/~~~~~~~~~~\__/~~\
  39.             /~~\__/~~\_________/~~\____/~~\__/~~\____/~~\__/~~\
  40.             /~~\__/~~\_________/~~\____/~~\__/~~\____/~~\__/~~\
  41.             /~~\__/~~~~~~~~~\__/~~\____/~~\__/~~\____/~~\__/~~\
  42.             /~~\__/~~~~~~~~~\__/~~\____/~~\__/~~\____/~~\__/~~\
  43.             /~~\___________________________________________/~~\
  44.             /~~\___________________________________________/~~\
  45.             /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
  46.             /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.                           Written by Stefan Boberg
  57.                    Copyright (c) 1991,92 by Stefan Boberg
  58.  
  59.  
  60.      
  61.  
  62.  
  63.      V1.10                    LhA User's Guide                   Page 1
  64.  
  65.  
  66.      1 - Introduction      
  67.  
  68.         LhA is  a  new  and  powerful  archiver for the Commodore-Amiga
  69.      computer.  It  is  fully compatible with LHA for MSDOS systems and
  70.      LhArc  for  MSDOS, Amiga and *NIX.  It is also compatible with LZ,
  71.      LhArc  and  LhArcA  for the Amiga. LhA sports fast compression and
  72.      decompression  and  has  several commands and options not found in
  73.      any other archiver currently available archiver for the Amiga.  
  74.  
  75.      1.1 About the manual     
  76.  
  77.         The manual  is  divided  into three sections, the first section
  78.      (this  one)  contains  some information related to the program and
  79.      how it compares to other similar products.  
  80.  
  81.         The second  section is a reference section, where all features,
  82.      commands  and  options are explained thoroughly.  The last section
  83.      contains   the   license   agreement,   registration  details  and
  84.      disclaimers.  
  85.  
  86.      1.2 System requirements      
  87.  
  88.         LhA will  run  on  any Amiga system with at least 512KB RAM and
  89.      one  diskdrive,  though 1MB RAM and two diskdrives or harddrive is
  90.      recommended  to  get  the  most  out  of LhA.  LhA will run on any
  91.      KickStart  from  version  1.2  and up.  If LhA is used on a system
  92.      with  the  new  KickStart  2.x  it  will adapt to this and utilize
  93.      features  new to this release.  Special care has been taken in the
  94.      program  design to make the program execute as fast as possible on
  95.      68020,   030   and   040-processors   without   sacrificing  68000
  96.      compatibility.  
  97.  
  98.         Currently, LhA requires `arp.library'.  
  99.  
  100.      1.4 Terminology       
  101.  
  102.      ARCHIVE  -  An archive is a file containing one or more files in a
  103.      compressed  or  non-compressed  state and related information like
  104.      file names, last modification date/time, filenotes etc.  
  105.  
  106.      COMPRESSION  -  The process of encoding redundant information into
  107.      data  requiring less storage space.  There are a multitude of ways
  108.      you  can  do  this  in.  LhA uses a modified version of Lempel-Ziv
  109.      compression  with  block-adaptive  Huffman coding and a dictionary
  110.      size of 4096 or 8192 characters.  
  111.  
  112.      COMPRESSION  RATIO - The compression ratio figures reported by LhA
  113.      are  calculated  as  follows:   ratio  =  (1  - (CompressedSize) /
  114.      (OriginalSize))  * 100.  I.e how many percent of the file that was
  115.      GAINED.   Other  archivers may use other methods.  LHA and ARJ for
  116.      MS-DOS,   for   example,   calculates   the   ratio  as:  ratio  =
  117.      (CompressedSize)  / (OriginalSize), i.e.  how large the compressed
  118.  
  119.  
  120.      
  121.  
  122.  
  123.      V1.10                    LhA User's Guide                   Page 2
  124.  
  125.  
  126.      file   is   compared   to   the   original  file.   (MSDOSratio  =
  127.      1-(ADOSratio/100)).   The higher the LhA compression ratio is, the
  128.      better  the  compression.  Most Amiga archivers use the same ratio
  129.      calculation method as I use.  
  130.  
  131.      EXTRACTION  or DECOMPRESSION - The process of recreating the exact
  132.      information   that   was  previously  compressed  (file  contents,
  133.      modification   date,   filenotes,   protection   flags,  directory
  134.      structure etc.) 
  135.  
  136.      SELF-EXTRACTION  MODULE  (SFX-Module) - This is an archive that is
  137.      an executable file capable of extracting self-contained files.  
  138.  
  139.  
  140.      1.5 LhA - what is it?   
  141.  
  142.         LhA is  a  file  archiving  program  written especially for the
  143.      Commodore  Amiga  computer.  The  primary  goal  is to provide the
  144.      Amiga   community   with  a  fast,  efficient  and  reliable  file
  145.      archiver.  LhA creates and processes archive files with the '.LZH'
  146.      suffix,  and  is  fully compatible with both MSDOS LhArc and MSDOS
  147.      LhA,  as  well as the Amiga LhArc, LZ, and LhArcA. It handles both
  148.      the  old  LhArc-style  compression  (-lh1-,  -lh0-)  and  the  new
  149.      LHA-style (-lh5-, -lh4-).  
  150.  
  151.         LhA is  at the time of release by far the fastest LhArc archive
  152.      handler,  and  is more reliable and robust than both LZ and LhArc.
  153.      Neither  LZ  nor  LhArc  even comes close to the speed of LhA. The
  154.      compression  and  decompression  routines  are written entirely in
  155.      what   I'd  call  very  optimized  68000  assembly  language.  The
  156.      routines   were  written  directly  from  scratch  in  pure  68000
  157.      assembler,  and  did  not,  as  in  the other Amiga LZH-archivers,
  158.      start  as  a compiled C-program. Because of this, the routines are
  159.      both  smaller  and,  more importantly, faster than they would have
  160.      been  if  I'd used compiler output as source material. You can get
  161.      an  idea of how fast LhA is compared to other archivers by looking
  162.      at  the  speed  test  results  in section 1.7.1 of this manual. An
  163.      even better way to see how fast LhA is, is to try it yourself! 
  164.  
  165.         Before writing  this  program I used LhArc a lot, to archive my
  166.      source  codes  automatically  for  example.  But since LhArc often
  167.      behaved  in  a  very  weird  way when updating archives, sometimes
  168.      adding  files  twice,  and  sometimes  not  adding files at all, I
  169.      decided  to write an archiver of my own. And this is the result...
  170.      LZ  was no alternative since it did not have the commands I needed
  171.      (u,f) and was very unreliable at the time.  
  172.  
  173.      1.6 What is a file archiver anyway?  
  174.  
  175.         A file  archiver,  as  the  name  implies,  archives  files. It
  176.      collects  the  files  you  specify and stores them all in a single
  177.      archive-file.  Almost  all  file  archivers  (including  LhA) also
  178.  
  179.  
  180.      
  181.  
  182.  
  183.      V1.10                    LhA User's Guide                   Page 3
  184.  
  185.  
  186.      compress  the  files  before  putting them in the archive-file, so
  187.      that  they  occupy  less diskspace. When you wish to retrieve some
  188.      file  from  the  archive,  the  archiver decompresses the file and
  189.      restores  it's file attributes (Last modification date, time, file
  190.      comments,  protection  status  etc.).  A file archiver can usually
  191.      also  process archive files in different ways, for instance delete
  192.      files,   freshen   files,  print  files  etc.  See  the  'ARCHIVER
  193.      COMMANDS'  section  of  this  manual  for  an  explanation  of the
  194.      different actions LhA is capable of performing.  
  195.  
  196.         The most  common  use  for  a file archiver is for transferring
  197.      several  related  files  via modem. It would be a very tedious and
  198.      cumbersome  task to transfer for instance every single source file
  199.      of  a  big  project  separately,  so why not put them all into one
  200.      single  file?  This is where the file archiver comes in, we simply
  201.      feed  the  archiver  with  all  the files we wish to transmit, and
  202.      then  just  transfer  the  single  archive-file  the  achiver then
  203.      creates!  Then  the  receiver just use the archiver to extract all
  204.      files  from  the archive-file onto his harddisk (or floppy). Also,
  205.      if  the  files were compressed by the archiver, it would take less
  206.      time  to  transfer  the  files  as well, which means the phonecall
  207.      will  cost  us  less.   There  are of course other uses for a file
  208.      archiver,  you can use it as a harddisk-backup program for example
  209.      (if  you  have another harddisk to put the archive file on..), and
  210.      you  can  use it to stuff away files you don't use very often, and
  211.      then  when  you want to use them you simply extract the files from
  212.      the  archive,  and  then  delete  them when you're finished (saves
  213.      disk  space). Personally I use LhA a lot to make automatic backups
  214.      of my source codes for various projects.  
  215.  
  216.         The file  compression  methods  vary  from  very  simple,  less
  217.      effective,  and  fast (Run-Length Encoding, RLE, for instance), to
  218.      complex,   effective   and   relatively   time-consuming   methods
  219.      (Lempel-Ziv-Huffman,  LZHUF,  as  used in LhA). The method used in
  220.      LZH-Archivers  (LZHUF) is to date probably the best algorithm used
  221.      in  an  archiver.  There  are other similar methods, like ZIP, but
  222.      they  are  not  as  good. Even though the files become smaller you
  223.      don't  lose any information when compressing them, the information
  224.      is   just   stored   in  a  different  way.  Basically,  redundant
  225.      (repeated)  information  is  replaced with a pointer to some other
  226.      part  of  the file, where this information is located. For example
  227.      in  this  text  the word 'archive' appears at several places, this
  228.      is  an example of redundant data. Simply put, if a file compressor
  229.      was  to  compress  this  file  it would let the first occurence of
  230.      'archive'  remain  unchanged,  and then it would replace all other
  231.      occurences  of  'archive'  with  a  pointer to the first one. When
  232.      decompressing  the  file,  the  archiver  uses  these  pointers to
  233.      restore the file to its original state.  
  234.  
  235.         Files which  have  already  been  compressed with one technique
  236.      can  generally  not  be  compressed any further by feeding them to
  237.      the  same  file  compressing  program  again  (If  that  had  been
  238.  
  239.  
  240.      
  241.  
  242.  
  243.      V1.10                    LhA User's Guide                   Page 4
  244.  
  245.  
  246.      possible,  modem transfers would have been a lot cheaper :), since
  247.      the  redundant  information  has  already  been  eliminated. It is
  248.      possible  though  to  compress files output by certain compressors
  249.      (RunLength-Encoders  for  example)  further  by  feeding them to a
  250.      program   that  uses  another  method  (like  LZHUF),  since  they
  251.      eliminate different kinds of redundant information.  
  252.  
  253.      1.7 Why should I use LhA?   
  254.  
  255.         There are  several  reasons  why  you should use LhA instead of
  256.      other archivers for the Amiga; here are some examples: 
  257.  
  258.  
  259.      1)  It  extracts  files  faster  than  any other popular archiver,
  260.         including LZ, Zoo, LhArcA, PkAZip, Pkax, Arc, and Ape.  
  261.  
  262.      2)  It  compresses  files faster than any other archiver, with the
  263.         exception  for  Zoo  V2.01,  which  has much looser compression
  264.         ratio and thus produces much larger archives.  
  265.  
  266.      3)  It  produces smaller archives than any other archiver. Both LZ
  267.         V1.92  and  Zoo V2.10 produces archives which are approximately
  268.         the  same size, but are much slower than LhA on both extraction
  269.         and compression.  
  270.  
  271.      4)  LhA  has  a  number of features that no other archiver for the
  272.         Amiga  has,  for  example  the  ability  to create and maintain
  273.         multiple-volume archives.  
  274.  
  275.  
  276.      1.7.1 How fast is it?    
  277.  
  278.         The following    tables    compares   LhA's   compression   and
  279.      decompression  with  several  other  archivers.  The T field shows
  280.      compression or decompression time in seconds and 
  281.  
  282.        T(archiver)
  283.      Q=-----------  i.e. how much longer the archiver takes compared
  284.         T(LhA_lh5)  to LhA in -lh5- mode. For example, A Q value of 2
  285.      means  that the archiver in question takes twice as long as LhA in
  286.      -lh5-  mode  to  extract/compress  all files.  The tests were made
  287.      with  a  A3000/25Mhz/4M  SCRAM/2M CHIP and with all files in RAM:.
  288.      A  special  program  (`time')  was  used to measure execution time
  289.      with  the `timer.device'.  The times exclude loading and unloading
  290.      time  to  more  accurately  reflect  the actual program speed. All
  291.      tests  were  made  with  the  programs  in  their  default mode of
  292.      operation,  except  for  LhA  `max' where the optimal command line
  293.      parameters for the files were chosen by hand (-v0 -Qh64).  
  294.  
  295.                               Extraction speed
  296.  
  297.                         Archive: `the brown corpus'
  298.  
  299.  
  300.      
  301.  
  302.  
  303.      V1.10                    LhA User's Guide                   Page 5
  304.  
  305.  
  306.          Type: 3.2MB of text, binary and graphics data in 21 files
  307.  
  308.          +-----+-----+-----+-----+-----+-----+-----+-----+------+------+
  309.          | LhA | LZ  | LhA | LZ  |LhArc| Zoo |Zoo  | Zoo |PkAZip| Pkax |
  310.          |     |V1.92|     |V1.92|     |V2.01|V2.1 |V2.1 |V1.02 | V1.0 |
  311.          |-lh5-|-lh5-|-lh1-|-lh1-|-lh1-| old |old  |-lh5-| imp. |crunch|
  312.       +--+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
  313.       |T |13.3 |27.0 |36.0 |51.2 |90.5 |24.2 |76.1 |57.5 | 45.0 | 51.1 |
  314.       +--+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
  315.       |Q | 1.00| 2.03| 2.71| 3.85| 6.80| 1.82| 5.72| 4.32|  3.38|  3.84|
  316.       +--+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
  317.  
  318.                            Archive: `dlgmsgs.lha'
  319.                            Type: 760K text file.
  320.          +-----+-----+-----+-----+-----+-----+-----+-----+------+------+
  321.          | LhA | LZ  | LhA | LZ  |LhArc| Zoo |Zoo  | Zoo |PkAZip| Pkax |
  322.          |     |V1.92|     |V1.92|     |V2.01|V2.1 |V2.1 |V1.02 | V1.0 |
  323.          |-lh5-|-lh5-|-lh1-|-lh1-|-lh1-| old |old  |-lh5-|impld.|crunch|
  324.       +--+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
  325.       |T | 3.1 | 6.4 | 9.2 |13.1 |21.8 | 5.9 |19.3 |14.1 | 11.2 | 13.8 |
  326.       +--+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
  327.       |Q | 1.00| 2.07| 2.97| 4.23| 7.03| 1.90| 6.22| 4.54|  3.61|  4.45|
  328.       +--+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
  329.  
  330.                              Compression speed
  331.  
  332.                         Archive: `the brown corpus'
  333.          Type: 3.2MB of text, binary and graphics data in 21 files
  334.  
  335.          +-----+-----+-----+-----+-----+-----+-----+------+------+------+
  336.          | LhA | LZ  | LhA | LZ  |LhArc| Zoo | Zoo |PkAZip|LhArcA| LhA  |
  337.          |     |V1.92|     |V1.92|     |V2.01|V2.1 |V1.02 |V1.01 | V1.0 |
  338.          |-lh5-|-lh5-|-lh1-|-lh1-|-lh1-| old |-lh5-| imp. |-lh1- | max  |
  339.       +--+-----+-----+-----+-----+-----+-----+-----+------+------+------+
  340.       |T | 208 | 396 | 205 | 285 | 571 | 76  | 512 | 394  | 386  |  206 |
  341.       +--+-----+-----+-----+-----+-----+-----+-----+------+------+------+
  342.       |Q | 1.00| 1.90| 0.99| 1.37| 2.75| 0.37| 2.46|  1.89|  1.86|  0.99|
  343.       +--+-----+-----+-----+-----+-----+-----+-----+------+------+------+
  344.  
  345.          Resulting sizes :   LhA    -lh5-   1139622  1.0000
  346.                              LZ     -lh5-   1139178  0.9996
  347.                              LhA    -lh1-   1199680  1.0527
  348.                              LZ     -lh1-   1199209  1.0523
  349.                              LhArc  -lh1-   1248729  1.0957
  350.                              LhArcA -lh1-   1248729  1.0957
  351.                              PkAZip Impl.   1196698  1.0501
  352.                              Zoo    -lh5-   1140114  1.0004
  353.                              Zoo      old   1491922  1.3091
  354.                              LhA     max    1136244  0.9970 (-Qh64)
  355.  
  356.                            Archive: `dlgmsgs.lha'
  357.                            Type: 760K text file.
  358.  
  359.  
  360.      
  361.  
  362.  
  363.      V1.10                    LhA User's Guide                   Page 6
  364.  
  365.  
  366.  
  367.          +-----+-----+-----+-----+------+-----+------+------+------+
  368.          | LhA | LZ  | LhA | LZ  |LhArc | Zoo | Zoo  |PkAZip|LhArcA|
  369.          |     |V1.92|     |V1.92|      |V2.01|V2.1  |V1.02 |V1.01 |
  370.          |-lh5-|-lh5-|-lh1-|-lh1-|-lh1- | old |-lh5- |impld.|-lh1- |
  371.       +--+-----+-----+-----+-----+------+-----+------+------+------+
  372.       |T |30.5 |78.0 |39.8 |63.4 |115.4 |15.8 |120.8 | 45.3 | 84.1 |
  373.       +--+-----+-----+-----+-----+------+-----+------+------+------+
  374.       |Q | 1.00| 2.56| 1.30| 2.07|  3.78| 0.52|  3.96|  1.49|  2.76|
  375.       +--+-----+-----+-----+-----+------+-----+------+-------------+
  376.  
  377.          Resulting sizes :   LhA    -lh5-   274648  1.0000
  378.                              LZ     -lh5-   274635  1.0000
  379.                              LhA    -lh1-   293076  1.0671
  380.                              LZ     -lh1-   293084  1.0671
  381.                              LhArc  -lh1-   303100  1.1036
  382.                              LhArcA -lh1-   303100  1.0957
  383.                              PkAZip Impl.   278837  1.0153
  384.                              Zoo    -lh5-   274839  1.0001
  385.                              Zoo     old    420212  1.5300
  386.                              LhA     max    273383  0.9954  (-Qh64)
  387.  
  388.  
  389.  
  390.      1.8 Compatibility and Amiga-specific features    
  391.  
  392.         LhA is  aimed  at full compatibility with LHA V2.12 for MS-DOS,
  393.      which  is  an improvement of the original LhArc V1.13. LhA is also
  394.      compatible  with  LhArc,  LhArcA  and  LZ  for the Commodore Amiga
  395.      computer.  However,  LhArc  and LhArcA cannot process any archives
  396.      with  headers  of  level  1 or 2, or files compressed with the new
  397.      LHA  compression  (-lh5-).  LZ  1.92  cannot process archives with
  398.      headers  of level 2. LHA V2.12 can process all archives created by
  399.      LhA.  
  400.  
  401.         The OS-ID  stored  in  level  1  and level 2 headers is `A' for
  402.      Amiga. The only OS-IDs I know of currently are: 
  403.  
  404.            ID Operating system 
  405.           --- ---------------- 
  406.           `A' AMIGA 
  407.           `F' OS-9 / FLEX 
  408.           `H' Human68K 
  409.           `K' OS-9 / M68K 
  410.           `M' MS-DOS 
  411.           `m' Mac OS 
  412.           `U' UNIX 
  413.           `2' OS/2 
  414.           `3' OS-386 
  415.           `9' OS-9 
  416.  
  417.  
  418.  
  419.  
  420.      
  421.  
  422.  
  423.      V1.10                    LhA User's Guide                   Page 7
  424.  
  425.  
  426.         The OS-ID  indicates  on  what operating system the archive was
  427.      created.  If  an  entry in an archive has an OS-ID other that `A',
  428.      LhA  will  ignore the file attributes and other OS-specific fields
  429.      and  use  the  default  attribute / whatever. If LhA encounters an
  430.      extended  data-field it does not recognize it issues a warning and
  431.      continues  processing.  The  warning  does not generate any return
  432.      code (if nothing goes wrong LhA returns 0 as the return code).  
  433.  
  434.  
  435.         The LhA-specific  extended  data  structures in the level 2 and
  436.      level 1 headers are laid out as follows: 
  437.  
  438.                             +------------------+
  439.                             |   DISPLAY FILE   |
  440.                             |------------------|
  441.                             | 0x0003 [Length]  |
  442.                             | 0x70   [ID Byte] |
  443.                             +------------------+
  444.  
  445.      This extension is used to flag files that should be displayed upon
  446.      extraction.
  447.  
  448.                             +------------------+
  449.                             |    FILENOTE      |
  450.                             +------------------+
  451.                             | WORD   [Length]  |
  452.                             | 0x71   [ID Byte] |
  453.                             | char[] [Notestr] |
  454.                             +------------------+
  455.  
  456.      Obviously,  this  extension  is used to store filenotes in level 1
  457.      and  level  2  headers.. In level 0 headers the filenote is stored
  458.      in another way.  
  459.  
  460.                                     NOTE
  461.  
  462.           The  evaluation version of LhA is currently only able to
  463.           create archives with headers of level 0.  
  464.  
  465.  
  466.      1.9 About the author program history and future 
  467.  
  468.         I, Stefan  Boberg  -  the  author  of  the  programs in the LhA
  469.      family,  am  19  years  old  and  studying  `applied  physics  and
  470.      electrical  engineering',  first  year, at the Linköping Institute
  471.      of  Technology.  I started working on LhA mainly because I thought
  472.      there  was  no  real  good  archiver  for the Amiga, the ones that
  473.      existed  at  the  time  (June 1991) I began work on it were either
  474.      too  slow, had loose compression ratios or were bugged/crippled so
  475.      that  they  could  not  do what I needed an archiver to do.  I use
  476.      archivers  mainly  to  back  up sources for my various programming
  477.      projects   automatically,  and  I  also  use  it  a  lot  to  just
  478.  
  479.  
  480.      
  481.  
  482.  
  483.      V1.10                    LhA User's Guide                   Page 8
  484.  
  485.  
  486.      decompress  archives  from  bulletin  board  systems  and computer
  487.      networks.  Another  reason for doing it was to earn a little extra
  488.      money,  which  I  badly  need, being a poor student with a _small_
  489.      allowance..  :) 
  490.  
  491.         Anyway, I  intend  to  continue  developing LhA and the related
  492.      programs  as  long  as  I  can,  and  will release other, related,
  493.      programs  as well, like an intuition- driven archiver called `LhI'
  494.      for  instance.  A  file  system to enable you to treat archives as
  495.      directories  is also in the pipeline and will be released sometime
  496.      in  1992.  Other archive formats than LhA-style archives will also
  497.      be  supported  in  the filesystem and intuition driven archiver by
  498.      means  of special resident libraries and handlers. When these will
  499.      be  finished  depends  on how much time I can devote to developing
  500.      the programs (have to take care of my studies you know).  
  501.  
  502.         But this  all  depends  on  YOU,  if  I get a good response and
  503.      people  register  I  will  continue  work on the program.  If not,
  504.      well,  then  I  might as well drop it for other projects, and just
  505.      make  minor  bugfixes  to  it instead of continuing development...
  506.      It's  your  choice!   If  you  would like to express your opinions
  507.      about  the  program,  or  have an idea for a feature you'd like to
  508.      see  in  the  next  version,  please drop me a line via EMail (see
  509.      section  3  for  addresses)  or  write  a  letter.  I would really
  510.      appreciate  it!   You MUST report any bugs you find (though I hope
  511.      you won't find any), so I can fix it right away! 
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.      
  541.  
  542.  
  543.      V1.10                    LhA User's Guide                   Page 9
  544.  
  545.  
  546.      2 Reference guide      
  547.  
  548.         This section  of  the manual is intended to be used mostly as a
  549.      reference  guide  when  you  want  to  know  exactly how a certain
  550.      option  or  command  works.   If  you haven't used LhA before (but
  551.      used  other  archivers),  you  should  at least glance through the
  552.      descriptions  of  all  the  commands and options to get an idea of
  553.      what LhA can do.  
  554.  
  555.      2.1 Command line syntax     
  556.  
  557.         The command line syntax is as follows: 
  558.  
  559.      LhA  [-options]  <Command>  <Archive> [[HomeDir] FileSpec] [@file]
  560.      [destdir] 
  561.  
  562.         The items  in  square  brackets  are optional, and the items in
  563.      angle  brackets  are  mandatory.   Read the following sections for
  564.      exact information on the various items.  
  565.  
  566.  
  567.      2.1.1 Specifying options      
  568.  
  569.         Unlike other  archivers,  LhA lets you specify options anywhere
  570.      on  the  command  line.   The  option specifier is `-' (dash), any
  571.      items  on  the  command  line  that begins with this character are
  572.      considered  to  be  option  switches.   If  you  want to specify a
  573.      filename  or  something  else  that  begins  with a `-' character,
  574.      enclose  the  name  in  double  quotes  or use double dashes.  For
  575.      example,  to  specify  a  filename  of  `-minus',  you could write
  576.      either `"-minus"' or `--minus'.  
  577.  
  578.         If you  write  `-o' the option `o' is enabled regardless of its
  579.      initial  state.   If  you  want to disable an option, append a `0'
  580.      (zero)  after the option, like in `-o0'.  If an option is followed
  581.      by any other numeric character than `0', the option is enabled.  
  582.  
  583.         You can  specify  multiple  options  without  having  a dash in
  584.      front  of  every  option  character.  An example would be `-ox0m',
  585.      which  would  enable  option  `o',  disable  option `x' and enable
  586.      option  `m'.   The  only  exception  is options taking multi-digit
  587.      numeric  arguments,  which  must  be  followed  by  whitespace and
  588.      another  dash  if  you want to specify more options (like in `-b32
  589.      -ox0m').  
  590.  
  591.      2.1.2 Specifying commands      
  592.  
  593.         The first  non-option  argument on the command line MUST be the
  594.      command  specifier.   The commands are case-insensitive (`l' means
  595.      the  same  thing  as  `L'),  and  only  the first character of the
  596.      argument  is  considered  (except  for  the  `vv',  `mb'  and `mf'
  597.      commands),  so  you  may  use  verbose  commands such as `list' or
  598.  
  599.  
  600.      
  601.  
  602.  
  603.      V1.10                    LhA User's Guide                  Page 10
  604.  
  605.  
  606.      `add' instead of `l' and `a', respectively.  
  607.  
  608.      2.1.3 Specifying archives      
  609.  
  610.         The archive   specification   must  be  the  second  non-option
  611.      argument  (the  first  being  the command specification).  In most
  612.      cases  you  can  specify  a pattern here.  The exception being the
  613.      `m' (move files to archive) command.  
  614.  
  615.      2.1.4 Specifying action files     
  616.  
  617.         The action    files    are    specified   after   the   archive
  618.      specification.  The action file specifications may include pattern
  619.      matching  tokens.  Note  that, as all other file specifications in
  620.      LhA,   action   file  specifications  may  contain  wildcards  for
  621.      directory   names   as  well  -  `hd:*/*/dir/*.h'  is  valid,  for
  622.      example.  
  623.  
  624.                                     NOTE
  625.  
  626.           If  you  do  not  specify  any action files, LhA assumes
  627.           that  you  wish  to act upon all files in the archive or
  628.           in the current directory.  
  629.  
  630.  
  631.      2.1.5 Home directories      
  632.  
  633.         Home directories  is  a  new  concept  introduced  with LhA, it
  634.      provides  an  easy  way of specifying what parts of pathnames that
  635.      should  be  preserved  in  the  archive.  It  can  also be used to
  636.      simplify  specifications  of  mutiple files in the same directory.
  637.      It is perhaps best explained with a couple of examples: 
  638.  
  639.       EXAMPLE 
  640.  
  641.        Example 1: 
  642.  
  643.        lha   -x   a  newarc  dh0:files/  file1  dir1/file2  dir2/file3
  644.        dh0:files2/ *.c 
  645.  
  646.        This would add the following files to `newarc.lha': 
  647.  
  648.         Added file(s)         Stored as 
  649.         -----------------     -------------- 
  650.         dh0:files/file1       file1 
  651.         dh0:files/dir1/file2  dir1/file2 
  652.         dh0:files/dir2/file3  dir2/file3 
  653.         dh0:files2/*.c        *.c 
  654.  
  655.        Example 2: 
  656.  
  657.        lha -r a newarc hd:tmp/ *.c *.h hd:px/ *.s *.snd *.iff 
  658.  
  659.  
  660.      
  661.  
  662.  
  663.      V1.10                    LhA User's Guide                  Page 11
  664.  
  665.  
  666.  
  667.         This would  add  all  `.c' and `.h' files in `hd:tmp' and it's
  668.        subdirectories,  storing  pathnames, but excluding the `hd:tmp'
  669.        part.   For  instance, the file `hd:tmp/src/foo/arargh.c' would
  670.        be  stored  in  the  archive  with the name `src/foo/arargh.c'.
  671.        Additionally,  all `.s', `.snd' and `.iff' files in `hd:px' and
  672.        its  subdirectories  will be added, excluding the `hd:px/' part
  673.        of the name.  
  674.  
  675.         Homedir specifications  must  end in `/' or `:', otherwise they
  676.      won't be recognized as such.  
  677.  
  678.         Homedir specifications  may contain wildcards and other pattern
  679.      matching tokens.  
  680.  
  681.                                     NOTE
  682.  
  683.           You  are not supposed to include the home directory name
  684.           in   the  action  file  specifications  after  the  home
  685.           directory    spec.    I.e.    you   should   not   enter
  686.           `devs:printers/         devs:printers/*HP*',         but
  687.           `devs:printers/ *HP*' is correct.  
  688.  
  689.           The  home  directory  remains active for the rest of the
  690.           command   line   or   until   the  next  home  directory
  691.           specification.  If you want to set the home directory to
  692.           the  current  directory  (as  it is from the beginning),
  693.           use   a   single   slash   (`/')  as  a  home  directory
  694.           specification.  This means you cannot use a single slash
  695.           to  specify  the  parent  directory, to do this you will
  696.           have  to  add  an  additional  slash  (`//' means parent
  697.           directory,  `///'  the  parent's parent directory and so
  698.           on).  
  699.  
  700.  
  701.      2.1.6 Recursive file collection     
  702.  
  703.         When collecting  files recursively (by using the -r option with
  704.      a   or  u  commands),  action  file  specs  are  treated  somewhat
  705.      differently.  Home  directories  work  the  same  way as usual. In
  706.      recursive  file  collection mode, the last node of the action file
  707.      specification  (i.e. the file name part) is used as a pattern that
  708.      is  compared  to  all  files  in  the  specified directory and its
  709.      subdirectories.   Some  examples to hopefully clarify the somewhat
  710.      fuzzy description: 
  711.  
  712.       EXAMPLE 
  713.  
  714.        Example 1: 
  715.  
  716.        lha -r a myarc * 
  717.  
  718.  
  719.  
  720.      
  721.  
  722.  
  723.      V1.10                    LhA User's Guide                  Page 12
  724.  
  725.  
  726.        This  will  add  all  files  in  the  current directory and its
  727.        subdirectories to `myarc.lha'.  
  728.  
  729.        Example 2: 
  730.  
  731.        lha -r a myarc *.c *.cpp 
  732.  
  733.        Will  add  all  `.c'  and `.cpp' files in the current directory
  734.        and its subdirectories to `myarc.lha'.  
  735.  
  736.        Example 3: 
  737.  
  738.        lha -r a myarc ram:work/* hd:tmp/*.c 
  739.  
  740.        Will  add  all  files in `ram:work' and its subdirectories - as
  741.        well  as all `.c' files in `hd:tmp' and its subdirectories - to
  742.        `myarc.lha'.  The  full pathnames will be stored (excluding the
  743.        device specification of course).  
  744.  
  745.        Example 4: 
  746.  
  747.        lha -r a myarc ram:work/ * hd:tmp/ *.c 
  748.  
  749.        Will  do  exactly the same as example 3, but LhA will not store
  750.        the  `ram:work/'  and  `hd:tmp/'  parts of the filenames in the
  751.        archive. (Because of the home directory specifications).  
  752.  
  753.        Example 5: 
  754.  
  755.        lha -r a myarc ram:dir1 ram:makefile 
  756.  
  757.        Will  archive  all  files  in  the  directory  `dir1'  and  its
  758.        subdirectories, as well as the file `ram:makefile'.  
  759.  
  760.        Example 6: 
  761.  
  762.        lha -r a myarc ram:dir1 ram:(makefile) 
  763.  
  764.        Will  do  almost  the  same  as example 5, but will archive ALL
  765.        `makefile's  in  ram:  and  all it's subdirectories (because of
  766.        the parentheses - see note below).  
  767.  
  768.  
  769.                                     NOTE
  770.  
  771.           Explicitly  specified  directories (explicitly = without
  772.           pattern  matching)  will be treated as `dirname/*', i.e.
  773.           all  files  in  the  directory  and it's subdirs will be
  774.           archived.   Explicitly  specified  files  will  only  be
  775.           looked  for  in  the  current home directory, unless the
  776.           filename  is  enclosed in parentheses, in which case the
  777.           file  will  be  looked for recursively. I have chosen to
  778.  
  779.  
  780.      
  781.  
  782.  
  783.      V1.10                    LhA User's Guide                  Page 13
  784.  
  785.  
  786.           implement  it  this  way  because  LhA  can then be used
  787.           better   together   with  directory  utilities  such  as
  788.           Browser or DirectoryOpus.  
  789.  
  790.  
  791.      2.1.7 Specifying destination directory     
  792.  
  793.         You can  optionally  specify  a  destination  directory for the
  794.      files  written  by  the  extract  commands  by writing the desired
  795.      directory  name  anywhere  after  the  archive name on the command
  796.      line.   If no destination directory is specified, LhA will use the
  797.      current  directory  as the destination.  The destination directory
  798.      specification  must  end  in  `:' or `/', just like home directory
  799.      specifications,  or LhA would not be able to distinguish directory
  800.      names from action file specs.  
  801.  
  802.       EXAMPLE 
  803.  
  804.        `lha  x corpus ram:' would extract the contents of `corpus.lzh'
  805.        to ram:.  
  806.  
  807.        `lha  x  project  *.c  dl:tmp/'  would  extract the contents of
  808.        `project.lzh' to the `dl:tmp' directory.  
  809.  
  810.        and so would `lha x project dl:tmp/ *.c'.  
  811.  
  812.                                     NOTE
  813.  
  814.           You  can specify a directory that does not already exist
  815.           as  the  destination,  LhA will automatically create the
  816.           directory for you.  
  817.  
  818.  
  819.      2.1.8 `@'-files       
  820.  
  821.         `@'-files are  files that are treated as if their contents were
  822.      written  on  the command line.  They can be used to specify files,
  823.      options  commands  and  anything  else  can  be  specified  on the
  824.      command  line.   An example would be the command `lha -r e arc.lzh
  825.      *.[chas]  @filelist  ram:', which would extract all files matching
  826.      `*.[chas]'  or  the  files  listed in `filelist' to ram:. Carriage
  827.      returns and linefeeds in `@'-files are treated as whitespace.  
  828.  
  829.      2.1.9 LhA limitations      
  830.  
  831.         LhA has  been  written to be as flexible as possible, but there
  832.      are some limitations that you should be aware of as a user: 
  833.  
  834.      o  LhA pathnames are currently limited to 255 characters.  
  835.  
  836.      o  When  headers  of level 0 are used, filenotes may not be longer
  837.        than  230-{filename  length  (including path)} characters.  With
  838.  
  839.  
  840.      
  841.  
  842.  
  843.      V1.10                    LhA User's Guide                  Page 14
  844.  
  845.  
  846.        header  level  1  or  2  filenotes  may  be up to 255 characters
  847.        (AmigaDOS   currently   only   supports   filenotes  of  max  80
  848.        characters  so  this  should  not  be  any  problem  except with
  849.        exceptionally long filenames and paths).  
  850.  
  851.      o  The  number  of  files  in an archive files are only limited by
  852.        available disk space.  
  853.  
  854.      o  The  number of arguments on the command line is only limited by
  855.        available RAM memory and the used shell.  
  856.  
  857.      o  The  allowed  number  of wildcard-matched files is only limited
  858.        by  available  RAM memory.  Any number of files may be extracted
  859.        or added to an archive in one go.  
  860.  
  861.      o  Level  2 headers must not be longer than 256 characters, or LhA
  862.        will not be able to process them.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.      
  901.  
  902.  
  903.      V1.10                    LhA User's Guide                  Page 15
  904.  
  905.  
  906.      2.3 Pattern matching      
  907.  
  908.         This section  describes  how  LhA  handles pattern matching and
  909.      file  collection.   For  a discussion on what commands will accept
  910.      file   patterns,   please  refer  to  section  2.1  (Command  line
  911.      syntax).  
  912.  
  913.         Pattern matching  in LhA is always case-insensitive.  (i.e.  it
  914.      doesn't  matter  if  you  write  names in upper- or lowercase, `a'
  915.      will match both `a' and `A'.  
  916.  
  917.      2.3.0 Exactly what is pattern matching anyway?  
  918.  
  919.         Pattern matching  is  a means of specifying several files in an
  920.      elegant  and  relatively  straightforward manner.  Instead of just
  921.      lining  up  all  the  file  names you would like to work on on the
  922.      command  line  (which  can be very tedious when a lot of files are
  923.      involved)  you  can  use  a  technique  called `pattern matching'.
  924.      With  this technique you - as the name implies - use the fact that
  925.      the  names  of  the  files you wish to work on often share certain
  926.      characteristics.   For  example,  the  names  of  files containing
  927.      C-source  almost  always  end in `.c', so if you would like to add
  928.      all  C-source  files  in  the  current  directory  you  could take
  929.      advantage  of  this  fact  by specifying a pattern to that matches
  930.      these  files  (in  this  case  such  a  pattern  would  be `*.c').
  931.      Exactly  how  these patterns are built up are explained in section
  932.      2.3.1  forward.  Also read the sections explaining `how to specify
  933.      action files' and `how to specify archive files'.  
  934.  
  935.      2.3.1 Accepted pattern tokens     
  936.  
  937.         LhA accepts  all valid KickStart 2.x and 1.x pattern tokens, it
  938.      also  accepts  all  ARP tokens (works more or less the same way as
  939.      KS2.x).  
  940.  
  941.         In the  explanations  that  follow, the term `expression' means
  942.      either  a  single  token  or character (such as `x' or `?'), or an
  943.      alternation  (such as `(ab|cd|ef)'), or a character class (such as
  944.      `[a-z,A-Z]').  
  945.  
  946.      2.3.1.1 Question mark (?)     
  947.  
  948.         The question  mark  matches  any  one  _single_  character. The
  949.      question mark is sometimes also referred to as the `wildchar'.  
  950.  
  951.       EXAMPLE 
  952.  
  953.        `d?' :  matches  all  two-letter  names  beginning  with  a `d'
  954.               character.  For example `dm' or 'd8'.  
  955.  
  956.        `ab?d' :  matches all four-letter names beginning with `ab' and
  957.               ending  in  `d'.   For example `abcd', `abad' and `ab_d'
  958.  
  959.  
  960.      
  961.  
  962.  
  963.      V1.10                    LhA User's Guide                  Page 16
  964.  
  965.  
  966.               but not `abd' or `acid'.  
  967.  
  968.        `f??' :  matches  all three-letter names beginning in `f'.  For
  969.               example  `foo',  `fel',  `fan'  but  not  `ab', `f18' or
  970.               `fini' 
  971.  
  972.  
  973.      2.3.1.2 Star/Asterisk (*)      
  974.  
  975.  
  976.         The star   matches   any  sequence  of  any  length,  including
  977.      sequences  with  length  zero  (i.e.   the  null string).  The `*'
  978.      character is often called the `wildcard' character.  
  979.  
  980.       EXAMPLE 
  981.  
  982.        `a*' :  matches  all  names  starting  with an `a', for example
  983.               `abba', `anette'.  
  984.  
  985.        `a*z' :  matches `auugaz', `awacz' and `az' and any other names
  986.               starting with an `a' and ending in `z'.  
  987.  
  988.        `s*f*n' :  matches `stefan', `staffan', `steffen', `sfn' or any
  989.               other  name starting with an `s', followed by any number
  990.               (including  zero)  of  arbitrary characters, followed by
  991.               an `f', and ending in `n'.  
  992.  
  993.        `*.lzh' : matches all names ending in `.lzh' 
  994.  
  995.  
  996.      2.3.1.3 Hash mark (#)     
  997.  
  998.         The hash  mark  matches  a subsequent expression (pattern) 0 or
  999.      more  times.   The  simplest  example  of  this is `#?' which will
  1000.      match any filename.  
  1001.  
  1002.       EXAMPLE 
  1003.  
  1004.        `#a' :  matches  any name consisting of the `a' character only.
  1005.               For example `aaaa' and `a'.  
  1006.  
  1007.        `b#ad' :  matches  any  name  beginning in `b', followed by any
  1008.               number  (including  0)  of `a' characters, and ending in
  1009.               `d'.  For example `bad', `bd' and `baaaad'.  
  1010.  
  1011.  
  1012.      2.3.1.4 Square brackets ([])     
  1013.  
  1014.         The square  brackets  enclose  a  set  of  characters to match.
  1015.      They  are  a  bit like the parentheses but match single-characters
  1016.      only.   You can either specify just the letters you would like the
  1017.      expression  to  match,  as in `[abcx]' (this would match `a', `b',
  1018.  
  1019.  
  1020.      
  1021.  
  1022.  
  1023.      V1.10                    LhA User's Guide                  Page 17
  1024.  
  1025.  
  1026.      `c'  and  `x'), or you can specify ranges, like `[a-c,x-z]' (which
  1027.      would match `a', `b', `c' and `x', `y', `z').  
  1028.  
  1029.       EXAMPLE 
  1030.  
  1031.        `prg.[1-9]' :  matches  any  five-letter  name  beginning  with
  1032.               `prg.',  followed  by  a  non-zero  digit.   For example
  1033.               `prg.1', 'Prg.8'.  
  1034.  
  1035.        `Ver_[1-2].[0-9].[a-z]' :    matches   any   nine-letter   name
  1036.               beginning  with `ver_' followed by either a `1' or a `2'
  1037.               character,  followed by a dot (`.'), a digit and finally
  1038.               a  character  between  `a' and `z' (i.e.  all letters in
  1039.               the   english   alphabet).    For  example  `Ver_1.2.a',
  1040.               `Ver_2.9.d'.  
  1041.  
  1042.        `#[a-z 0-9]'   matches   any  name  containing  any  number  of
  1043.               alphanumeric  characters  (i.e.   either in the alphabet
  1044.               or  numeric).   For  example `ados' or `PDP11'.  It does
  1045.               not  match  `AXE.dat'  however,  since it contains a `.'
  1046.               which is not in the specified character range.  
  1047.  
  1048.        `*.[chas]' :  matches  any  name  ending in `.c', `.h', `.a' or
  1049.               `.s'.  
  1050.  
  1051.  
  1052.      2.3.1.5 Parentheses and the vertical bar   
  1053.  
  1054.         Parentheses can  be  used to achieve several things.  The first
  1055.      way  of  using them is just like in mathematics - to group several
  1056.      individual  expressions into one single expression.  The other way
  1057.      is  to provide a list of acceptable expressions separated with `|'
  1058.      chars.   The  entire  parenthesized  expression  is treated as one
  1059.      token  by other tokens (like `#' and `~').  These two are actually
  1060.      the  same,  since  the  first is just a special case of the second
  1061.      use.  This is easier to explain with a couple of examples: 
  1062.  
  1063.       EXAMPLE 
  1064.  
  1065.        `(abc|def|xyz)' :  will  match names `abc', `def' and `xyz' and
  1066.               no other.  
  1067.  
  1068.        `*.(doc|prf|man)' :  will  match  all  names  ending in `.doc',
  1069.               `.prf' or `.man'.  
  1070.  
  1071.        `~(pfile)' :  will  match  all  names except `pfile'. (NB: this
  1072.               expression  is  NOT  the  same  thing  as  `~pfile', see
  1073.               section 2.3.1.6 for details) 
  1074.  
  1075.        `(*.c|*.h|*.doc|ab*)' :  will  match  all files ending in `.c',
  1076.               `.h' or `.doc' and all files beginning with `ab'.  
  1077.  
  1078.  
  1079.  
  1080.      
  1081.  
  1082.  
  1083.      V1.10                    LhA User's Guide                  Page 18
  1084.  
  1085.  
  1086.  
  1087.         Typing an  action-file  spec of `(xxx|yyy|zzz)' is functionally
  1088.      equivalent  to  writing  `xxx  yyy  zzz' (xxx, yyy, zzz can be any
  1089.      valid patterns, including patterns with parentheses).  
  1090.  
  1091.         Parentheses can be nested.  
  1092.  
  1093.  
  1094.      2.3.1.6 Tilde (~)      
  1095.  
  1096.         The tilde  negates  the  immediately  following expression.  It
  1097.      negates  ONLY  the  immediately  following  token or paranthesized
  1098.      expressiom,  not  the  entire  following expression as some people
  1099.      think.  
  1100.  
  1101.       EXAMPLE 
  1102.  
  1103.        `~x?' :  matches any two-letter name except those starting with
  1104.               `x'.   For  example  `ah',  `ko' or 'ba' but not 'x0' or
  1105.               'xi'.  
  1106.  
  1107.        `~(x?)' :  matches  anything  except  two-letter names starting
  1108.               with  `x'.   For  example  `xaa' or `ab' but not `xa' or
  1109.               'x9'.  
  1110.  
  1111.        `~(#?)' :  matches  nothing  at  all.   (The  tilde negates the
  1112.               `#?', which matches all names).  
  1113.  
  1114.        `~lha' :  matches  all strings that doesn't begin with `l', and
  1115.               ends  in  'ha'.   For  example  `uha', `why_lha' but not
  1116.               'lumbha' or 'lha'.  
  1117.  
  1118.  
  1119.      2.3.1.7 Percent sign (%)     
  1120.  
  1121.         The percent   sign  represents  the  empty  string.   i.e.   it
  1122.      matches  0  characters always.  It is only useful in parenthesized
  1123.      expressions  and  must not follow a the `#' token (`#%' would be a
  1124.      rather  pointless  pattern,  since  the % always matches exactly 0
  1125.      characters).  
  1126.  
  1127.       EXAMPLE 
  1128.  
  1129.        `lha(.doc|.man|%)' : matches `lha.doc', `lha.man' and `lha'.  
  1130.  
  1131.        `l%u%a' :  matches  `lua'  only;  the percent signs are totally
  1132.               irrelevant here and can just as well be removed.  
  1133.  
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140.      
  1141.  
  1142.  
  1143.      V1.10                    LhA User's Guide                  Page 19
  1144.  
  1145.  
  1146.      2.4 Commands       
  1147.  
  1148.         This section  describes  the  commands for archive manipulation
  1149.      and  maintenance LhA offers to you.  See section 2.1.2 (Specifying
  1150.      commands)  for  details  on how to specify commands on the command
  1151.      line.  
  1152.  
  1153.      2.4.1 `a' Add files to archive   
  1154.  
  1155.         Obviously, this  command  adds a number of files to one or more
  1156.      archives.   If  the specified archive does not already exist, then
  1157.      it  will  be created.  You cannot add files to an archive if these
  1158.      already  exist in the archive.  If you attempt to do so, a warning
  1159.      will  be  issued, but LhA will continue adding the other files you
  1160.      have specified.  
  1161.  
  1162.         Only the  filenames  are  stored  by  default,  if  you want to
  1163.      preserve  some  disk  structure and directory names, you will have
  1164.      to  use the -x option to turn path preservation on. If you want to
  1165.      archive  entire  subdirectories  recursively  you  can  use the -r
  1166.      option,  which  will  turn  on  the -x option automatically. These
  1167.      options are explained in section 2.5.  
  1168.  
  1169.       EXAMPLE 
  1170.  
  1171.        `LhA  a  myarchive  dict.txt'  would add the file `dict.txt' to
  1172.        the archive `myarchive.lha'.  
  1173.  
  1174.        `LhA  a  arc.lzh  *.c *.h' would cause all files in the current
  1175.        directory  ending  in  `.c'  or `.h' to be added to the archive
  1176.        `arc.lzh' 
  1177.  
  1178.        `LhA  -r -0 arch *.c' would cause all `.c' files in the current
  1179.        directory  and  all  it's  subdirectories  to  be  added to the
  1180.        archive  `arch.lzh'  using  the  -lh1-  (LhArc 1.x) compression
  1181.        method.  
  1182.  
  1183.        `LhA  -r  archive  src:(lharca|lha)/*.[cha]  asrc:*.asm'  would
  1184.        cause  all  `.c',  `.h'  and `.a' files in the `src:lharca' and
  1185.        `src:lha'  directories  and  subdirectories,  as  well  as  all
  1186.        `.asm'  files  in  the  `asrc:'  directory,  to be added to the
  1187.        archive `archive.lha'.  
  1188.  
  1189.  
  1190.  
  1191.      2.4.3 `d' Delete files from archive   
  1192.  
  1193.         This command removes one or more files from an archive.  
  1194.  
  1195.  
  1196.                                     NOTE
  1197.  
  1198.  
  1199.  
  1200.      
  1201.  
  1202.  
  1203.      V1.10                    LhA User's Guide                  Page 20
  1204.  
  1205.  
  1206.           Files  deleted  with the `d' command cannot be recovered
  1207.           from  the  archive  file  in  any  way.   Once a file is
  1208.           deleted from an archive it is gone forever.  
  1209.  
  1210.  
  1211.      2.4.4 `e' Extract files from archive   
  1212.  
  1213.         This command  is  used  to  extract  files from an archive.  It
  1214.      works  just  like  the  `x' command, except this command takes the
  1215.      `-x'  option  into  consideration  (the  `x' command assumes it is
  1216.      set).   If  the  `-x'  option  is  disabled,  files  are extracted
  1217.      without  their pathnames, and if it's enabled LhA will extract all
  1218.      files  with  the  pathnames  and  create the needed directories if
  1219.      they do not already exist.  
  1220.  
  1221.       EXAMPLE 
  1222.  
  1223.        `lha  -x0  e  foo.lzh  ram:'  will  extract  all files from the
  1224.        archive  `foo.lzh'  to  ram:,  without paths (all files will be
  1225.        put in the ram:  root directory).  
  1226.  
  1227.        `lha  x foo.lzh *.c ram:' will extract all files ending in `.c'
  1228.        to  ram:,  with  paths  -  i.e.  it  will recreate the original
  1229.        directory structure.  
  1230.  
  1231.        See the tutorial section for more examples 
  1232.  
  1233.  
  1234.      2.4.5 `f' Freshen files in archive   
  1235.  
  1236.         This command  is  used  to  freshen  files in an archive.  I.e.
  1237.      replace  older  files  in  the  archive  with  new  files from the
  1238.      current  directory.   Pathnames  are  considered  unless  the `-x'
  1239.      option  is  disabled  explicitly (with `-x0').  This command never
  1240.      adds  any  files  to an archive, it just replaces those files that
  1241.      have  older modification dates than the corresponding files in the
  1242.      current directory.  
  1243.  
  1244.       EXAMPLE 
  1245.  
  1246.        `lha  f  /aab/lha'  will  freshen  all  files  in  the  archive
  1247.        '/aab/lha.lha'.  
  1248.  
  1249.        `lha  f  /aab/fsys *.[ch]' will freshen all `.c' and `.h' files
  1250.        in the archive '/aab/fsys.lha'.  
  1251.  
  1252.  
  1253.         This command  automatically  enables  the `-x' option unless it
  1254.      is explicitly disabled on the command line with `-x0'.  
  1255.  
  1256.      2.4.8 `l' List archive contents (terse)   
  1257.  
  1258.  
  1259.  
  1260.      
  1261.  
  1262.  
  1263.      V1.10                    LhA User's Guide                  Page 21
  1264.  
  1265.  
  1266.         This command  gives  a terse list of the contents of an archive
  1267.      file,   including   file   names  (without  paths),  original  and
  1268.      compressed length, last modification date and compression ratio.  
  1269.  
  1270.         Files with  pathnames  are  indicated by having a `+' character
  1271.      in front of the name. See example below.  
  1272.  
  1273.         Filenotes are  NOT  displayed  when using this command, use the
  1274.      `v' or `vv' command to display those.  
  1275.  
  1276.         The action  file  specification is used to determine what files
  1277.      to list. If no filespecs are given, all files will be listed.  
  1278.  
  1279.       EXAMPLE 
  1280.  
  1281.         1> lha -N l dl:c64new 
  1282.  
  1283.         Listing of archive 'dl:c64new.lzh': 
  1284.         Original  Packed Ratio    Date     Time    Name 
  1285.         -------- ------- ----- --------- --------  ------------- 
  1286.            36098   26979 25.2% 20-Oct-91 22:40:16 +Stormlord 
  1287.              482     293 39.2% 20-Oct-91 22:41:36 +Stormlord.info 
  1288.            23016   12100 47.4% 21-Oct-91 08:28:18  PlaySID 
  1289.         -------- ------- ----- --------- -------- 
  1290.            59596   39372 33.9% 25-Oct-91 21:22:48   3 files 
  1291.  
  1292.         The `+'  (plus) signs in front of the first two names indicate
  1293.        that  the  file  has a path which is not displayed with the `l'
  1294.        command  (use  the  `v' or `vv' command to display pathnames as
  1295.        well).  The `-N' suppresses the copyright notice.  
  1296.  
  1297.  
  1298.      2.4.9 `m' Move files to archive   
  1299.  
  1300.         This command  works  just  like the `a' command, but the source
  1301.      files are deleted after successfully adding them to the archive.  
  1302.  
  1303.       EXAMPLE 
  1304.  
  1305.        `lha   m  includes.lzh  src:*.[hi]'  will  move  all  files  in
  1306.        directory  `src:'  having  filenames  ending in `.h' or `.i' to
  1307.        the archive `includes.lzh'.  
  1308.  
  1309.        `lha  m  myarc.lzh lhb_log.911012 lhb_idx.911012' will move the
  1310.        two  specified files (`lhb_log.911012' and `lhb_idx.911012') to
  1311.        the archive `myarc.lzh'.  
  1312.  
  1313.  
  1314.      2.4.14 `p' Print files to stdout   
  1315.  
  1316.         This command  works  just like the extract (`e', `x') commands,
  1317.      but  sends the extracted output to stdout (normally the console or
  1318.  
  1319.  
  1320.      
  1321.  
  1322.  
  1323.      V1.10                    LhA User's Guide                  Page 22
  1324.  
  1325.  
  1326.      output redirection file).  
  1327.  
  1328.  
  1329.      2.4.17 `t' Test archive integrity    
  1330.  
  1331.         This command   tests   the   specified  archives  integrity  by
  1332.      extracting  the  files they contain to nowhereland, i.e.  the data
  1333.      is  decompressed only, not written to any file.  This command only
  1334.      works  on  entire archives, i.e.  you cannot just test one file in
  1335.      an  archive.  If this command fails, the archive is corrupted, and
  1336.      a warning return code is returned.  
  1337.  
  1338.       EXAMPLE 
  1339.  
  1340.        `lha  t  work:arcs/*'  will check the integrity of all archives
  1341.        in directory `work:arcs'.  
  1342.  
  1343.        `lha    t   s:envarc.lzh'   will   check   the   integrity   of
  1344.        `s:envarc.lzh' 
  1345.  
  1346.        `lha  -R  t  dh0:*' will check the integrity of all archives on
  1347.        the `dh0' volume (`-R' = Collect archives recursively).  
  1348.  
  1349.  
  1350.      2.4.18 `u' Update archive     
  1351.  
  1352.         As the  command name implies, this command updates archives. It
  1353.      adds  files  that are not yet in the archive and replaces existing
  1354.      but  older files. The last modification date for files are used to
  1355.      determine which file is the newest one.  
  1356.  
  1357.       EXAMPLE 
  1358.  
  1359.        `lha  u  /aab/lha.lzh  *.c'  will update archive `/aab/lha.lzh'
  1360.        with all `.c' files in the current directory.  
  1361.  
  1362.  
  1363.      2.4.19 `v' List archive (verbose)    
  1364.  
  1365.         This command  works just like the `l' command, but displays the
  1366.      full  pathname  of the file, while `l' only displays the name node
  1367.      without  path.   Another  difference  between `l' and the `v'/`vv'
  1368.      commands  is  that  the  `l'  command  does  not  show  filenotes.
  1369.      Filenotes  are  displayed on a separate line with a colon (`:') in
  1370.      front of it, just like the AmigaDOS `list' command.  
  1371.  
  1372.         The action  file  specification is used to determine what files
  1373.      to list. If no filespecs are given, all files will be listed.  
  1374.  
  1375.       EXAMPLE 
  1376.  
  1377.         1> lha -N v dl:c64new 
  1378.  
  1379.  
  1380.      
  1381.  
  1382.  
  1383.      V1.10                    LhA User's Guide                  Page 23
  1384.  
  1385.  
  1386.  
  1387.         Listing of archive 'dl:c64new.lzh': 
  1388.         Original  Packed Ratio    Date     Time    Name 
  1389.         -------- ------- ----- --------- --------  ------------- 
  1390.            36098   26979 25.2% 20-Oct-91 22:40:16  S/Stormlord 
  1391.              482     293 39.2% 20-Oct-91 22:41:36  S/Stormlord.info 
  1392.            23016   12100 47.4% 21-Oct-91 08:28:18  PlaySID 
  1393.         : New version with `equalizers' 
  1394.         -------- ------- ----- --------- -------- 
  1395.            59596   39372 33.9% 25-Oct-91 21:22:48   3 files 
  1396.  
  1397.         The `-N' suppresses the copyright notice.  
  1398.  
  1399.  
  1400.      2.4.20 `vv' List archive (full)    
  1401.  
  1402.         This command  is  just  like  the `v' command, but displays all
  1403.      available   information  in  a  slightly  different  format.   The
  1404.      original  and  packed size, last modification date and compression
  1405.      ratio   is  listed  just  as  with  the  `v'  command,  plus  file
  1406.      attributes  (`Atts'),  compression method, file CRC and DOS ID for
  1407.      the  OS  the  files  were compressed on.  If no DOS ID is given in
  1408.      the  archive  (header  level  <  1), a question mark is displayed.
  1409.      The  currently  known  DOS  IDs  are `A' and `M', where `A' is for
  1410.      AmigaDOS  and  `M'  is for MS-DOS.  The filename including path is
  1411.      displayed  on  a  separate  line.  File notes are displayed in the
  1412.      same  way as the `v' command does it, on a separate line after the
  1413.      filename.  
  1414.  
  1415.         The action  file  specification is used to determine what files
  1416.      to list. If no filespecs are given, all files will be listed.  
  1417.  
  1418.       EXAMPLE 
  1419.  
  1420.         1> lha -N vv dl:c64new 
  1421.  
  1422.         Listing of archive 'dl:c64new.lzh': 
  1423.         Original  Packed Ratio    Date     Time     Atts   Method CRC  DOS 
  1424.         -------- ------- ----- --------- -------- -------- ------ ---- --- 
  1425.         S/Stormlord 
  1426.            36098   26979 25.2% 20-Oct-91 22:40:16 ----rwed  -lh1- 2093  ? 
  1427.         S/Stormlord.info 
  1428.              482     293 39.2% 20-Oct-91 22:41:36 ----rwed  -lh1- 710E  ? 
  1429.         PlaySID 
  1430.            23016   12100 47.4% 21-Oct-91 08:28:18 ----rwed  -lh5- 89FF  ? 
  1431.         : New version with `equalizers' 
  1432.         -------- ------- ----- --------- -------- 
  1433.            59596   39372 33.9% 25-Oct-91 21:22:48   3 files 
  1434.  
  1435.         The `-N' option suppresses the copyright notice.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.      
  1441.  
  1442.  
  1443.      V1.10                    LhA User's Guide                  Page 24
  1444.  
  1445.  
  1446.        2.4.21 `x' Extract files with path   
  1447.  
  1448.           This command  is  exactly the same as the `e' command, but it
  1449.        always  extracts  files  with paths (i.e.  same as using the `e'
  1450.        command  with  `-x'  option  on), regardless of the state of the
  1451.        `-x' option.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.  
  1460.  
  1461.  
  1462.  
  1463.  
  1464.  
  1465.  
  1466.  
  1467.  
  1468.  
  1469.  
  1470.  
  1471.  
  1472.  
  1473.  
  1474.  
  1475.  
  1476.  
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.      
  1501.  
  1502.  
  1503.      V1.10                    LhA User's Guide                  Page 25
  1504.  
  1505.  
  1506.        2.5 Options       
  1507.  
  1508.           This section   describes   the   various   options  that  are
  1509.        available  to  you when using LhA. For a detailed explanation on
  1510.        how  to  enable/disable  specific  options  and  where  you  can
  1511.        specify  options, see section 2.1.1.  The letters in parantheses
  1512.        indicate what commands the options affect.  
  1513.  
  1514.            Code  Commands 
  1515.            ----- ------------ 
  1516.            (add) a,u,f 
  1517.            (all) all commands 
  1518.            (ext) e,x 
  1519.            (upx) a,u,f,e,x 
  1520.            (upd) a,u,f,d 
  1521.  
  1522.  
  1523.        2.5.1 `-a' (upx) Preserve file attributes   
  1524.  
  1525.           This option,  when  enabled,  will make LhA store and restore
  1526.        file protection flags. The eight attributes are listed below: 
  1527.  
  1528.            r:  Read  - This flag is set for files which are readable (a
  1529.               file is read-protected if the flag is unset).  
  1530.  
  1531.            w:  Write  -  This flag is set for files which are writeable
  1532.               (a file is write-protected if the flag is unset).  
  1533.  
  1534.            e:  Execute   -  This  flag  is  set  for  files  which  are
  1535.               executable  (binary load files or shell scripts must have
  1536.               this bit set).  
  1537.  
  1538.            d:  Delete   -   This  flag  is  set  for  files  which  are
  1539.               deleteable  (a  file  is  protected from deletion if this
  1540.               flag is unset).  
  1541.  
  1542.            a:  Archived   -   This  flag  is  used  by  harddisk-backup
  1543.               programs  (and  optionally  LhA)  to  indicate what files
  1544.               have  been changed since the last backup. If this flag is
  1545.               set  it  indicates  that the file is unchanged, and if it
  1546.               is  unset  the  file  has  changed since the last backup.
  1547.               The  bit  is  cleared  whenever  a  write  is made to the
  1548.               file.  
  1549.  
  1550.            p:  Pure  - This flag is set for binary load files which are
  1551.               pure  (i.e.   multitasking  reentrant),  and  can be made
  1552.               resident  with  the  AmigaDOS  'resident'  or  equivalent
  1553.               command.  
  1554.  
  1555.            s:  Script - This flag is set for shell script files.  
  1556.  
  1557.            h:  Hidden  -  This  flag  is  set for files that should not
  1558.  
  1559.  
  1560.      
  1561.  
  1562.  
  1563.      V1.10                    LhA User's Guide                  Page 26
  1564.  
  1565.  
  1566.               show  up  on  directory  listings. It is not supported by
  1567.               the  current  release of the AmigaDOS shell/CLI commands,
  1568.               and should thus not be used.  
  1569.  
  1570.  
  1571.           Please refer   to   an  AmigaDOS  manual  for  more  detailed
  1572.        explanation of the various file protection flags.  
  1573.  
  1574.           If the  option  is  disabled (by issuing `-a0' on the command
  1575.        line),  the  protection  flags  are  set  to  '----RWED' for all
  1576.        extracted  and  archived  files.  Important:  You MUST have this
  1577.        option  enabled  both  when archiving and extracting to preserve
  1578.        file attributes correctly.  
  1579.  
  1580.                                      NOTE
  1581.  
  1582.             Use  this option only if you know that the archive has
  1583.             been  compressed or will be decompressed with an Amiga
  1584.             archiver,   since   the   attribute  field  format  is
  1585.             different  on different operating systems.  If you use
  1586.             archive  headers  of  level  1  or higher you need not
  1587.             care  about  this since the archiver then detects what
  1588.             OS  the  archive  was  created  on  and  only uses the
  1589.             protection  flags  if  it  is  the  native OS.  Always
  1590.             leave  this  option enabled when using archive headers
  1591.             of level 1 and higher! 
  1592.  
  1593.  
  1594.           This option  is  enabled  by default when archiving (a,f,u,m)
  1595.        and disabled by default for all other commands.  
  1596.  
  1597.        2.5.2 `-A' (upd) Set archive attributes   
  1598.  
  1599.           When this  option is active, LhA will set the file protection
  1600.        flags of all archives it updates to `----RW-D'.  
  1601.  
  1602.           This option is OFF by default.  
  1603.  
  1604.        2.5.3 `-b' (all) Set I/O buffer size  
  1605.  
  1606.           This option  will  set  the  size of the I/O buffers LhA uses
  1607.        when  reading  and  writing  to  archive files.  You can set the
  1608.        buffer  size  to  anything  from  8KB  to 64 KB.  Larger buffers
  1609.        normally  makes  LhA  operate  slightly  faster  (depends on the
  1610.        nature of the archive and what files are selected).  
  1611.  
  1612.         EXAMPLE 
  1613.          'lha  -b64  a  archive.lzh hubba' :  Will add file `hubba' to
  1614.          `archive.lzh' using an I/O buffer of 64K.  
  1615.  
  1616.                                      NOTE
  1617.  
  1618.  
  1619.  
  1620.      
  1621.  
  1622.  
  1623.      V1.10                    LhA User's Guide                  Page 27
  1624.  
  1625.  
  1626.             Running  LhA with a small I/O buffer on an accelerated
  1627.             (68020  and  up)  Amiga  will  degrade  compression  /
  1628.             decompression  performance significantly!  The default
  1629.             buffer  size  of  32KB  is  enough  in most cases, and
  1630.             works  well  on  an unaccelerated Amiga as well.  Also
  1631.             note  that when running LhA and doing all work on some
  1632.             ram  disk,  the I/O buffer size is less important, and
  1633.             it  is  unnecessary  to  run  with a large buffer. The
  1634.             default buffer size of 32K is OK for most purposes.  
  1635.  
  1636.  
  1637.           The default buffer size is 32K (32768 bytes) 
  1638.  
  1639.        2.5.5 `-c' (all) Confirm files    
  1640.  
  1641.           When this  option is active LhA will ask you for confirmation
  1642.        on all files and archives that are acted upon.  
  1643.  
  1644.           This option is OFF by default.  
  1645.  
  1646.        2.5.6 `-C' (ext) Clear arc-bit on extract  
  1647.  
  1648.           When this  option  is  active  LhA will mask the A-protection
  1649.        bit  for  all  files it extracts. This is useful when extracting
  1650.        files  from  archives  to  a harddisk, since the extracted files
  1651.        would  not  be  recognized as new or changed files by the backup
  1652.        program if the A-bit was set.  
  1653.  
  1654.           This option is ON by default.  
  1655.  
  1656.        2.5.8 `-D' (all) Alternate progress display   
  1657.  
  1658.           This switch  is  used to change the look of the byte progress
  1659.        indicator   that   LhA   displays  when  it  is  compressing  or
  1660.        decompressing  files.  There  are  several  different  types  of
  1661.        progress  indicators,  you can specify which one you want with a
  1662.        digit after the '-D' string.  
  1663.  
  1664.  
  1665.        0:  This  is  the  default  progress  indicator, it displays how
  1666.           many  bytes of the file LhA has processed, and how many bytes
  1667.           there is in the file like this: 
  1668.  
  1669.           (xxxxxxx/yyyyyyy)  where  x  = bytes processed, and y = total
  1670.           bytes in the file.  
  1671.  
  1672.  
  1673.        1:  This  progress indicator simply shows a `rotating line' that
  1674.           is  rotated  45  degrees  every  time  the progress indicator
  1675.           display is updated).  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.      
  1681.  
  1682.  
  1683.      V1.10                    LhA User's Guide                  Page 28
  1684.  
  1685.  
  1686.        2:  This  progress  indicator shows how many percent of the file
  1687.           LhA has processed.  
  1688.  
  1689.  
  1690.        3:  This   progress   indicator  displays  a  growing  bar  that
  1691.           indicates how much of the file that has been processed.  
  1692.  
  1693.  
  1694.         EXAMPLE 
  1695.  
  1696.          `lha  -D2  a  src  *.asm'  will  add  files  to  the  archive
  1697.          `src.lha' with a percentage indicator (type 2).  
  1698.  
  1699.  
  1700.           The default progress indication type is 0.  
  1701.  
  1702.        2.5.11 `-f' (all) Ignore filenotes    
  1703.  
  1704.           When this  option  is  enabled, LhA will not store or restore
  1705.        any  filenotes.  There is no real need to do this, since it does
  1706.        not  cause any compatibility problems with other systems because
  1707.        of  the  way the filenotes are stored.  If problems should arise
  1708.        anyway,  try  enabling  this option or use headers of level 1 or
  1709.        higher if the target system supports it.  
  1710.  
  1711.           See the  section  about  compatibility (1.7) for a discussion
  1712.        about this and other compatibility issues.  
  1713.  
  1714.           This option  is  OFF  by  default  (filenotes  are stored and
  1715.        restored) 
  1716.  
  1717.        2.5.12 `-F' (all) Use fast progress display  
  1718.  
  1719.           In this  mode LhA uses a different method of display progress
  1720.        for  the  extract  and  test  commands.  Normally,  LhA  emits a
  1721.        linefeed   (LF)   after  each  file  has  been  processed,  thus
  1722.        advancing/scrolling  the display one line. In this mode LhA only
  1723.        emits  a  LF  when  an  error  occurs. This is useful if you are
  1724.        testing  or  extracting files with a lot of small files, and the
  1725.        scrolling takes more time than the actual decompression! 
  1726.  
  1727.                                      NOTE
  1728.  
  1729.             If  you  use  the  default style progress display on a
  1730.             very  fast  Amiga  system  (68020+),  beware  that the
  1731.             scrolling  of  the  screen may actually take more time
  1732.             than  the  actual  decompression!   This is especially
  1733.             true  for  archives  with  many small files.  So don't
  1734.             use  it  unless  you  really  _have_ to see what files
  1735.             have   been   processed.    LhA  scrolls  the  display
  1736.             whenever  an  error occurs on a file, so you still can
  1737.             see  when  an  error  occurs  (better, even, since the
  1738.  
  1739.  
  1740.      
  1741.  
  1742.  
  1743.      V1.10                    LhA User's Guide                  Page 29
  1744.  
  1745.  
  1746.             only  filenames that remain on screen after the action
  1747.             is complete are those that failed!).  
  1748.  
  1749.  
  1750.           This option  is  OFF  by  default  (use  old  style  progress
  1751.        indication).  
  1752.  
  1753.        2.5.16 `-i' (all) Read filelist from file  
  1754.  
  1755.           With this  option  you can include an action file list from a
  1756.        file instead of specifying all action files on a command line.  
  1757.  
  1758.         EXAMPLE 
  1759.  
  1760.          If the file `ArcFList' contains the following lines: 
  1761.  
  1762.          ---> Start of ArcFList data   (this line is NOT in the file) 
  1763.  
  1764.          LhA.c ArcList.c FSys/*.(c|h|i|asm|prf|man|doc|txt) 
  1765.  
  1766.          ---> End of ArcFList data     (this line is NOT in the file) 
  1767.  
  1768.          The following command line: 
  1769.  
  1770.          `lha -iArcFList u /aab/lha.lzh' 
  1771.  
  1772.          Will do the same thing as this command: 
  1773.  
  1774.          `lha        u        /aab/lha.lzh       LhA.c       ArcList.c
  1775.          FSys/*.(c|h|i|asm|prf|man|doc|txt)' 
  1776.  
  1777.  
  1778.                                      NOTE
  1779.  
  1780.               This  command  works  almost  exactly like entering
  1781.               the following command line: 
  1782.  
  1783.               LhA ? ???? @file 
  1784.  
  1785.               Thus  you  can include options in your -i file. The
  1786.               only  difference is that the -i file cannot contain
  1787.               a  destination  directory  specification  while you
  1788.               can  do this with the @file method. The destination
  1789.               directory  will  always  be  taken from the command
  1790.               line when using the -i option.  
  1791.  
  1792.  
  1793.  
  1794.           See the  section  about  `@'(include)-files  for an alternate
  1795.        way of doing this.  
  1796.  
  1797.        2.5.17 `-k' (all) Keep partial files   
  1798.  
  1799.  
  1800.      
  1801.  
  1802.  
  1803.      V1.10                    LhA User's Guide                  Page 30
  1804.  
  1805.  
  1806.  
  1807.           This option  will, if it's enabled, prevent LhA from deleting
  1808.        temporary  files when an error occurs.  Normally temporary files
  1809.        that  fail  the  CRC  check, cause I/O errors or are interrupted
  1810.        with  CTRL-C  are  deleted  before  exiting  LhA  with  an error
  1811.        message,  with  this  option  you  can  force  LhA to keep those
  1812.        (often)  partial  files.   This  can  be  useful  when trying to
  1813.        recover  data  from  corrupted  archives  -  LhA will attempt to
  1814.        extract  the  data  from  the  erraneous  archive file and put a
  1815.        special  filenote on the file to indicate that it failed the CRC
  1816.        check and probably is corrupted.  
  1817.  
  1818.                                      NOTE
  1819.  
  1820.             Please  that  in  the  current  release,  for  certain
  1821.             errors  all data that has been extracted may not be in
  1822.             the  partially extracted file, because of internal I/O
  1823.             buffering.  In  this  case,  set the I/O buffer to the
  1824.             smallest  value  possible  (8KB) to recover as much as
  1825.             possible.  Because  of  this,  small  files may not be
  1826.             recovered  at  all.  This  only applies to LHA (-lh5-)
  1827.             compression,  LhArc  compressed files will always have
  1828.             all extracted data in the partially extracted file.  
  1829.  
  1830.  
  1831.           This option is OFF by default (partial files are deleted).  
  1832.  
  1833.        2.5.18 `-l' (ALL) Make filenames lowercase   
  1834.  
  1835.           This option,  when  active,  will  cause  LhA  to convert all
  1836.        filenames  to  lowercase.   This is useful when extracting files
  1837.        from  archives created on MSDOS systems, whose filenames are all
  1838.        uppercase,  which  look  completely  braindead (IMHO).  Use this
  1839.        option to make them look nicer! 
  1840.  
  1841.         EXAMPLE 
  1842.          `LhA    -l   x   myarc'   will   extract   all   files   from
  1843.          `myarc.(lzh|lha)', making all filenames lowercase.  
  1844.  
  1845.           This option if OFF by default 
  1846.  
  1847.        2.5.19 `-L' (ALL) Create filelist    
  1848.  
  1849.           When this  option  is  enabled, it will cause LhA to create a
  1850.        list  of  the  files  it  has acted upon (i.e. what files in the
  1851.        last  operation  that  matched the action file specification you
  1852.        gave  on  the  command  line).  The  name  of the list file must
  1853.        follow  immediately after the `-L' string. If you need spaces in
  1854.        the filename, enclose the name in double quotes.  
  1855.  
  1856.         EXAMPLE 
  1857.  
  1858.  
  1859.  
  1860.      
  1861.  
  1862.  
  1863.      V1.10                    LhA User's Guide                  Page 31
  1864.  
  1865.  
  1866.          `lha  -Lram:ListFile  d  src.lzh *.asm' will delete all files
  1867.          in  `src.lzh'  with  names ending in `.asm' and create a list
  1868.          of the deleted files in the file `ram:ListFile'.  
  1869.  
  1870.          `lha   -L"ram:List   File"   u  src.lzh  *.asm'  will  update
  1871.          `src.lzh',   and  create  a  list  of  the  files  that  were
  1872.          added/replaced in the file `ram:List File'.  
  1873.  
  1874.                                      NOTE
  1875.  
  1876.             The  file  that  this  option creates is a plain ASCII
  1877.             file  with  every  name  on a separate line. The files
  1878.             created  by this option are suitable for use as action
  1879.             or  exclude  lists  for  LhA  using  the  `@'  or `-i'
  1880.             options.  
  1881.  
  1882.  
  1883.           This option is OFF by default (no filelist created).  
  1884.  
  1885.        2.5.20 `-m' (ALL) No messages for query  
  1886.  
  1887.           When this  option  is  active  LhA  will suppress all queries
  1888.        that  normally  are issued before overwriting existing files for
  1889.        example.   Enabling  this  option  will also cause LhA to ignore
  1890.        TelOps  (autoshow  files).   When this option is on you LhA will
  1891.        behave  like  you  choose  the default action in response to all
  1892.        the  queries  (yes). This option is automatically enabled if the
  1893.        standard  input is not interactive (if run in the background for
  1894.        example).  
  1895.  
  1896.           This option if OFF by default.  
  1897.  
  1898.        2.5.21 `-M' (ext) No autoshow files   
  1899.  
  1900.           When this  option  is  enabled, LhA will suppress the display
  1901.        of autoshow files (files with names ending in `.displayme').  
  1902.  
  1903.                                      NOTE
  1904.  
  1905.             Autoshow  files  are also suppressed if one or more of
  1906.             the `-N', `-q' or `-m' options are enabled.  
  1907.  
  1908.  
  1909.           This option   is   OFF   by   default   (autoshow  files  are
  1910.        displayed).  
  1911.  
  1912.        2.5.22 `-n' (upx) No byte progress indicator  
  1913.  
  1914.           When this  option  is enabled, the byte progress indicator is
  1915.        disabled.  LhA  will  still  display  what file it is working on
  1916.        however, use `-N' to disable all progress indication.  
  1917.  
  1918.  
  1919.  
  1920.      
  1921.  
  1922.  
  1923.      V1.10                    LhA User's Guide                  Page 32
  1924.  
  1925.  
  1926.           This option is OFF by default.  
  1927.  
  1928.        2.5.23 `-N' (all) No progress indicator   
  1929.  
  1930.           This option  is  similar  to  the  `-n' option, but supresses
  1931.        higher-level  progress  indication  (i.e.   the  display of what
  1932.        file  LhA  is  bashing).  It  also  disables the short copyright
  1933.        banner that is printed at each invokation otherwise.  
  1934.  
  1935.           This option  is  off  by  default  (file  progress indication
  1936.        ON).  
  1937.  
  1938.        2.5.25 `-p' (ALL) Pause after loading   
  1939.  
  1940.           When selected,  this  option will cause LhA to pause and wait
  1941.        for  the  user to press any key before executing a command. This
  1942.        is  useful  for  users  with  floppies,  who can then swap disks
  1943.        after LhA has been loaded and is waiting for a keypress.  
  1944.  
  1945.           This option is OFF by default.  
  1946.  
  1947.        2.5.26 `-P' (ALL) Set task priority   
  1948.  
  1949.           This option  is  used  to  set  the LhA process priority. The
  1950.        priority  may  be  set  to  any  value  in  the  range -5 to +5,
  1951.        including  0.  The  higher  priority  you give LhA, the more CPU
  1952.        time  it  will  grab  (processes with lower priority will almost
  1953.        never    get   the   chance   to   run   since   LhA   is   very
  1954.        processor-intensive).   Setting it to a low value (like -5) will
  1955.        make  LhA  only  use  the  processor time that nobody else wants
  1956.        (nice  when  running  LhA  as  a background task while running a
  1957.        comm program).  
  1958.  
  1959.           The priority  must  be  specified  with  a single (optionally
  1960.        prefixed   with  a  minus  sign  for  negative  priority)  digit
  1961.        immediately after the P as in: 
  1962.  
  1963.         EXAMPLE 
  1964.          `lha  -P-1  a  nonsense.lzh  bogus.txt' will make LhA add the
  1965.          file  `bogus.txt'  to  the archive `nonsense.lzh', running at
  1966.          priority -1.  
  1967.  
  1968.           The default  priority  is  inherited from the calling process
  1969.        (i.e.   the CLI or program that called Execute()/RunCommand() ).
  1970.        This is usually zero (0).  
  1971.  
  1972.        2.5.27 `-q' (ALL) Be quiet    
  1973.  
  1974.           This option will supress ALL messages from LhA.  
  1975.  
  1976.           This option is OFF by default 
  1977.  
  1978.  
  1979.  
  1980.      
  1981.  
  1982.  
  1983.      V1.10                    LhA User's Guide                  Page 33
  1984.  
  1985.  
  1986.        2.5.28 `-Q' (ALL) Alternate option set   
  1987.  
  1988.           This option  character  (`Q') will cause all following option
  1989.        characters  until  next  space  character  to  be interpreted as
  1990.        extended  options.   These  are  documented  at  the end of this
  1991.        section.  
  1992.  
  1993.        2.5.29 `-r' (add) Collect action files recursively  
  1994.  
  1995.           When this  option is used, LhA will recursively collect files
  1996.        from subdirectories.  
  1997.         EXAMPLE 
  1998.          `lha  -r a ram:disk1 df0:' will archive all files on the disk
  1999.          in drive 0 to `ram:disk1.lha'.  
  2000.  
  2001.          `lha  -r  a ram:disk2src df0:*.c' will archive all `.c' files
  2002.          on df0: to `ram:disk2src.lha'.  
  2003.  
  2004.          `lha    -r    a    ram:exthup    hd:prg/src/    lha/*.[chasi]
  2005.          lhi/*.[chasi]'  will  add  all  `.c',  `.h', `.a', `.s', `.i'
  2006.          files  in  `hd:prg/src/lha'  and  `hd:prg/src/lhi'  and their
  2007.          subdirectories.  The `hd:prg/src/' part of the names will not
  2008.          be  stored  in  the archive (home directory `hd:prg/src/' was
  2009.          specified).  
  2010.  
  2011.                                      NOTE
  2012.  
  2013.             Files  that are specified explicitly (i.e. without any
  2014.             pattern  matching)  are looked for only in the current
  2015.             (home)   directory,   while   patterns  are  used  for
  2016.             matching  in  all  subdirectories.  If  a directory is
  2017.             specified   explicitly   without  any  following  file
  2018.             pattern  (like  in  `lha -r a ram:test sys:l') it will
  2019.             be  treated as if a `/*' was appended to the directory
  2020.             name  -  i.e.  all  files  in  the  directory and it's
  2021.             subdirectories will be archived.  
  2022.  
  2023.  
  2024.           This option  is  OFF by default. Note that the `-x' option is
  2025.        automatically  enabled when the -r option is used. If you do not
  2026.        want  to  store  pathnames  simply  specify `-x0' on the command
  2027.        line.  
  2028.  
  2029.        2.5.30 `-R' (ALL) Collect archive files recursively  
  2030.  
  2031.           When this  option  is  enabled  LhA  will  search for archive
  2032.        files  recursively using the archive file specification given at
  2033.        the  command  line.  This  works  like  the  `-r' option but for
  2034.        archive files.  
  2035.         EXAMPLE 
  2036.          `lha  -R  l  dh0:files/a*'  will  list  the  contents  of all
  2037.          archive   files   whose  names  begin  in  `a'  in  directory
  2038.  
  2039.  
  2040.      
  2041.  
  2042.  
  2043.      V1.10                    LhA User's Guide                  Page 34
  2044.  
  2045.  
  2046.          `dh0:files' and its subdirectories.  
  2047.  
  2048.          `lha  -R  l *' will list the contents of all archive files in
  2049.          the current directory and its subdirectories.  
  2050.  
  2051.          `lha  -R  l  myarc'  will  list  the contents of all archives
  2052.          called  'myarc.lzh'  or  `myarc.lha' in the current directory
  2053.          and its subdirectories.  
  2054.  
  2055.           This option is OFF by default.  
  2056.  
  2057.        2.5.32 `-S' (add) Set A-flag on archived files 
  2058.  
  2059.           When this  option  is  on,  LhA will set the A (for Archived)
  2060.        file  protection  flag  on  all  files  that  are  added  to  an
  2061.        archive.   This  can  be used to simplify automatic backups when
  2062.        used  together with the -O (Add files without A-flag only).  See
  2063.        section 2.5.24 for more details.  
  2064.  
  2065.           This option is OFF by default.  
  2066.  
  2067.        2.5.33 `-t' (ext) Only new files   
  2068.  
  2069.           When this  option  is  active,  LhA  will  not  overwrite  or
  2070.        replace any files.  
  2071.  
  2072.                                      NOTE
  2073.  
  2074.             This option overrides the `-T' option.  
  2075.  
  2076.  
  2077.           This option is OFF by default.  
  2078.  
  2079.        2.5.34 `-T' (upx) New and newer files  
  2080.  
  2081.           When this  option  is  active,  LhA will overwrite or replace
  2082.        files  that  already exists and are older than the current file,
  2083.        and create files that does not already exist.  
  2084.  
  2085.                                      NOTE
  2086.  
  2087.             This option overrides the `-t' option.  
  2088.  
  2089.  
  2090.           This option is OFF by default.  
  2091.  
  2092.        2.5.35 `-u' (ALL) Make filenames uppercase   
  2093.  
  2094.           This option,  when  active,  will  force  LhA  to convert all
  2095.        filenames   to  uppercase.   This  can  be  useful  when  making
  2096.        archives  that  are supposed to be used on MSDOS-Systems running
  2097.        LhArc/LHA.   While  these have no problems with extracting files
  2098.  
  2099.  
  2100.      
  2101.  
  2102.  
  2103.      V1.10                    LhA User's Guide                  Page 35
  2104.  
  2105.  
  2106.        with  mixed-case  filenames,  the pattern matching routines will
  2107.        not work correctly.  
  2108.  
  2109.           This option is OFF by default.  
  2110.  
  2111.        2.5.36 `-U' (upx) Set update interval   
  2112.  
  2113.           This option  is  used to set the interval (in bytes) at which
  2114.        LhA  updates  the  byte progress indicator. The desired interval
  2115.        must  be expressed in kilobytes, and must immediately follow the
  2116.        `U' character.  
  2117.  
  2118.         EXAMPLE 
  2119.          `LhA  -U4096  a  bar.lzh  *.c' will add all c-source files in
  2120.          the  current directory to `bar.lzh' with a progress indicator
  2121.          interval of 4096 (4K) bytes.  
  2122.  
  2123.          `LhA  -U32768  a bar.lzh *.c' will do the same as the example
  2124.          above, but with a update interval of 32768 bytes (32K).  
  2125.  
  2126.                                      NOTE
  2127.  
  2128.             This  option does currently not affect the update rate
  2129.             of  the  LHA decompression (`-lh5-' compression mode).
  2130.             When  LhA  decompresses  files  with  this compression
  2131.             mode,  the  update  rate  will  be whatever I/O buffer
  2132.             size  is  used  (set with the `-b' option). The reason
  2133.             of   this   behaviour  is  that  the  normal  progress
  2134.             indication would slow down decompression.  
  2135.  
  2136.  
  2137.           The default  update interval is 8192 (8K) bytes for -lh1- and
  2138.        -lh5-  compression  and 4096 (4K) bytes for -lh1- decompression.
  2139.        The  update  rate  for  -lh5- decompression is determined by the
  2140.        I/O buffer size setting (see note above).  
  2141.  
  2142.        2.5.37 `-v' (add) Set compression speed   
  2143.  
  2144.           This option   can   be  used  to  increase  or  decrease  the
  2145.        compression  speed.  -v0 is the slowest, and -v9 is the fastest.
  2146.        As  usual  you  can't  get  anything  for  free,  so compression
  2147.        performance  is  slightly  looser with -v9 than with -v0 but the
  2148.        difference  in  speed  can  be significant (especially with some
  2149.        binary  graphics  data). Higher compression speed is attained by
  2150.        using less statistics in the compression phase.  
  2151.  
  2152.           The default  compression  speed  is  5  -  best in 99% of all
  2153.        cases.  
  2154.  
  2155.        2.5.38 `-w' (upd) Set work directory   
  2156.  
  2157.           This option  is used to specify what directory LhA should use
  2158.  
  2159.  
  2160.      
  2161.  
  2162.  
  2163.      V1.10                    LhA User's Guide                  Page 36
  2164.  
  2165.  
  2166.        to  store  temporary  files.  Temporary  files  are created when
  2167.        adding  files  to  archives, or when updating an archive in some
  2168.        way  (like  deleting  or  freshening  files). The work directory
  2169.        name must be specified immediately after the `-w' string.  
  2170.  
  2171.         EXAMPLE 
  2172.          `LhA   -wrad:tmp  a  MyArc.lzh  *'  will  use  the  directory
  2173.          `rad:tmp'  as  temporary  storage  location  when  adding all
  2174.          files in the current directory to the archive `MyArc.lzh'.  
  2175.  
  2176.           By default  LhA  uses the `T:' directory for temporary files,
  2177.        if  this  assign  or  device  does  not  exist, LhA will use the
  2178.        current directory.  
  2179.  
  2180.        2.5.39 `-x' (all) Preserve and use pathnames  
  2181.  
  2182.           When this  option  is  enabled,  LhA  will  use  and preserve
  2183.        pathnames  when extracting and archiving files. When extracting,
  2184.        LhA  will  create  the  directories that does not already exist.
  2185.        Use  this  option  when  you  want  to  preserve  some directory
  2186.        structure.  This  option  is automatically enabled when the `-r'
  2187.        option is used.  
  2188.  
  2189.           This option  is disabled by default for update operations and
  2190.        enabled by default for extract operations.  
  2191.  
  2192.        2.5.40 `-X' (ALL) Do not append suffix  
  2193.  
  2194.           When this  option  is  enabled, LhA will not append an `.lzh'
  2195.        or  `.lha'  suffix  to  the  given  archive  name.   The default
  2196.        behaviour  is  to append a suffix of `.lha' or `.lzh' (suffix is
  2197.        chosen  depending  on  compression  mode)  if  the name does not
  2198.        already have an extension.  
  2199.  
  2200.           This option is OFF by default (suffixes are appended).  
  2201.  
  2202.        2.5.41 `-Y' (add) Store big files with ratio 
  2203.  
  2204.           When this  option  is  enabled,  LhA  will  store  big  files
  2205.        (>32KB)  without  compression if compression ratio is lower than
  2206.        3%.  This is because extraction times of these files are long on
  2207.        slower machines.  
  2208.  
  2209.           This option is OFF by default (all files are compressed).  
  2210.  
  2211.        2.5.42 `-z' (add) Do not compress files  
  2212.  
  2213.           This option,  when  active,  will  force  LhA  to  store  all
  2214.        updated  or  added  files  in  the archive without attempting to
  2215.        compress  them.   Useful  for  making fast backups where archive
  2216.        size  is  of  no  importance.   It  is not advisable to use this
  2217.        option  when  making  archives  for  distribution  via  modem or
  2218.  
  2219.  
  2220.      
  2221.  
  2222.  
  2223.      V1.10                    LhA User's Guide                  Page 37
  2224.  
  2225.  
  2226.        networks  since  the  archive will end up much larger than if it
  2227.        was compressed.  
  2228.  
  2229.         EXAMPLE 
  2230.          `lha  -z a foo.lha *.bmp' Will store all files in the current
  2231.          directory  with  a  suffix  of  `.bmp'  in  the  archive file
  2232.          `foo.lha' without compressing them.  
  2233.  
  2234.           This option is OFF by default.  
  2235.  
  2236.        2.5.43 `-Z' (add) Compress archives    
  2237.  
  2238.           This option  will  cause  LhA  to attempt compressing already
  2239.        compressed files.  
  2240.  
  2241.           By default,  LhA will not attempt to compress files which are
  2242.        already  compressed (typically archive files or picture files in
  2243.        GIF  or  JPEG  format).  The  file  type  is determined from the
  2244.        suffix,  and  files with names ending in `.lzh', `.lha', `.zoo',
  2245.        `.zip',  `arj',  `.arc', `.dms', `.wrp', `.lhw', `.zap', `.pak',
  2246.        `.pp', `.gif', or `.jpg'.  
  2247.  
  2248.           The reason   why  already  compressed  files  should  not  be
  2249.        compressed  is  that  the  number  of bytes gained by this is so
  2250.        small    that    it    is    not    worth    the    time   spent
  2251.        compressing/decompressing it.  
  2252.  
  2253.           This option is OFF by default.  
  2254.  
  2255.        2.5.45 `-0' (add) Use LhArc 1.x compression  
  2256.  
  2257.           This option  causes  LhA  to  use  the  old -lh1- compression
  2258.        method  when  updating  archives.  This  compression  method  is
  2259.        slightly  faster  than  the  normal  -lh5-  compression  but has
  2260.        looser compression and is much slower to decompress.  
  2261.  
  2262.           When this   compression   mode   is  used,  LhA  defaults  to
  2263.        appending a suffix of `.lzh' when creating archives.  
  2264.  
  2265.           When this  option  is specified, option `-2' is automatically
  2266.        deactivated.  
  2267.  
  2268.           By default the -lh5- compression is used.  
  2269.  
  2270.        2.5.46 `-2' (add) Use LhA compression   
  2271.  
  2272.           This option  causes  LhA  to  use  the  new -lh5- compression
  2273.        method  when  updating  archives.  This  compression  method  is
  2274.        slightly  slower  then the old -lh1- compression but has tighter
  2275.        compression and is much faster to decompress.  
  2276.  
  2277.           When this   compression   mode   is  used,  LhA  defaults  to
  2278.  
  2279.  
  2280.      
  2281.  
  2282.  
  2283.      V1.10                    LhA User's Guide                  Page 38
  2284.  
  2285.  
  2286.        appending a suffix of `.lha' when creating archives.  
  2287.  
  2288.           When this  option  is specified, option `-0' is automatically
  2289.        deactivated.  
  2290.  
  2291.           This is the default compression mode.  
  2292.  
  2293.        2.5.49 `-Qh' (add) Set Huffman buffer size  
  2294.  
  2295.           This option  can  be  used to set the size of the buffer used
  2296.        in  LHA  compression  (default or selected with the `-2' option)
  2297.        for  collecting  statistics. The size of this buffer affects the
  2298.        compression  ratio  in  unpredictable  ways.  As a general rule,
  2299.        keep  this at the default, but if you are compressing homogenous
  2300.        data  with  a  relatively  fixed  relative  frequency of symbols
  2301.        (like  text  files),  setting this to a large value will improve
  2302.        compression.   Binaries generally compress best with the default
  2303.        setting.  
  2304.  
  2305.           The Huffman  buffer may be of any size between 4K and 64K and
  2306.        must  be  specified  immediately  following the `-Qh' string, in
  2307.        kilobytes.  
  2308.  
  2309.         EXAMPLE 
  2310.  
  2311.          `LhA  -Qh32  -2  a  foo.lha *' will compress all files in the
  2312.          current  directory using a Huffman buffer size of 32768 (32K)
  2313.          bytes.  
  2314.  
  2315.          `LhA  -Qh4  -2  a  foo.lha  *' will compress all files in the
  2316.          current  directory  using  a Huffman buffer size of 4096 (4K)
  2317.          bytes.  
  2318.  
  2319.           The default Huffman buffer size is 16K.  
  2320.  
  2321.        2.6 Autoshow files      
  2322.  
  2323.           Autoshow files  are files that are displayed automatically to
  2324.        the   user  when  extracting  the  file  from  an  archive.  LhA
  2325.        determines  if  a  file  should  be  displayed by looking at the
  2326.        filename;  if the filename ends in `.displayme' then the file is
  2327.        displayed  unless  autoshow  files  have been disabled (with the
  2328.        `-M'  option).  Apart  from  being displayed on-screen, autoshow
  2329.        files  are  extracted  just like normal files, without stripping
  2330.        off the `.displayme' part (AmigaDOS LhArc 1.30 does this).  
  2331.  
  2332.  
  2333.  
  2334.  
  2335.  
  2336.  
  2337.  
  2338.  
  2339.  
  2340.      
  2341.  
  2342.  
  2343.      V1.10                    LhA User's Guide                  Page 39
  2344.  
  2345.  
  2346.        4 Politics       
  2347.  
  2348.        4.1 Registration       
  2349.  
  2350.           LhA is  a copyrighted product that has been made available to
  2351.        you  under  the  concept of "Shareware".  It has never been, nor
  2352.        will  it  ever  be  in  the  "Public Domain".  You are granted a
  2353.        limited  license in order to evaluate these programs.  If, after
  2354.        a  3  or  4  week  period of evaluation, you find that LhA suits
  2355.        your  archiving  needs,  please  register.   By cooperating with
  2356.        this  concept  you  help to ensure continued development of this
  2357.        product.  
  2358.  
  2359.           Registered users  will  be  shipped  a  disk  with the latest
  2360.        release  version  of  LhA together with a keyfile. This keyfile,
  2361.        once   copied   to  your  system,  will  disable  the  ShareWare
  2362.        reminders  that always open when you start or quit the Intuition
  2363.        driven  programs  in the LhA family. The registered-user version
  2364.        of  LhA  has all the features of the evaluation version, as well
  2365.        as  several  additional  commands,  options  and features. Among
  2366.        these  are  multi-volume  archive  handling and creation, faster
  2367.        and  better  compression,  commands  to  repair,  split and sort
  2368.        archives, and several other new useful options.  
  2369.  
  2370.           Site license  information  for  commercial and government use
  2371.        can be obtained directly from the author.  
  2372.  
  2373.           No person(s)   or   businesses  other  than  the  author  are
  2374.        authorized  to  accept  any registration or distribution fees in
  2375.        any  form  whatsoever,  except  as specified by the author.  The
  2376.        only  people  who  will  be acknowledged as registered users are
  2377.        those who have sent SEK 100, US, 20 IRC's or more to: 
  2378.  
  2379.                                 Stefan Boberg
  2380.                               Rydsvägen 242 A:25
  2381.                               S-58251 Linköping
  2382.                                Sweden / Europe
  2383.  
  2384.  
  2385.           For residents  in  Sweden,  the  easiest  and cheapest way of
  2386.        transferring  money to the author is by `PostGiro' # 629 22 84-4
  2387.        This  only  costs  8  crowns  and you can write the registration
  2388.        info  on  the  giro-form.  For your own sake, make sure that the
  2389.        giro  number  found in this manual really is mine, by calling me
  2390.        on 013-175992, or ask at the post office (it's free).  
  2391.  
  2392.           As one  of  the  safest  and  easiest  ways  to  send in your
  2393.        registration  fee  from  other  countries,  I  would  suggest an
  2394.        international  postal money order -- your local post office will
  2395.        be  happy  to  provide you with more information about this.  It
  2396.        also  has  the  advantage  that  the  exchange  of currencies is
  2397.        handled automatically and the surcharge is negligible.  
  2398.  
  2399.  
  2400.      
  2401.  
  2402.  
  2403.      V1.10                    LhA User's Guide                  Page 40
  2404.  
  2405.  
  2406.  
  2407.           Should the  above  not  work out satisfyingly, you can either
  2408.        send  a  cheque  or  money  order  payable  to  Stefan Boberg in
  2409.        Swedish  Crowns  or have your bank transfer the registration fee
  2410.        to  the  "Svenska  Handelsbanken"  account  145.587.932  "Stefan
  2411.        Boberg".  Beware:  International  transfers  via banks are quite
  2412.        expensive.  
  2413.  
  2414.           In any  case,  be sure to provide me with your name, address,
  2415.        fido-nodenumber/InterNet  address and international phone number
  2416.        for   filing   purposes.  You  can  send  this  information  via
  2417.        electronic  mail,  if  you  wish.   If you don't mind, this data
  2418.        will  be  stored  and  processed in electronic form.  There is a
  2419.        sample   registration   form   you  can  fill  in  in  the  file
  2420.        "OrderForm".  
  2421.  
  2422.           Please allow two to eight weeks for delivery.  
  2423.  
  2424.        4.2 Distribution       
  2425.  
  2426.           Basically, LhA  may  be  distributed  freely  as  long as the
  2427.        following conditions are met: 
  2428.  
  2429.           The distributor  may  only  charge  a  fee up to the costs of
  2430.        obtaining   a  public  domain  diskette  from  Fred  Fish.   The
  2431.        distributor  agrees  to cease distributing the programs and data
  2432.        involved  if  requested to do so by the author.  The distributor
  2433.        may  only distribute an unmodified copy of the original program,
  2434.        with  all  the supplied documentation and copyright notices left
  2435.        intact.  
  2436.  
  2437.           For more details, see the chapter called "License".  
  2438.  
  2439.        4.3 Support       
  2440.  
  2441.           If you  have  any  suggestions,  bug  reports  or  questions,
  2442.        please  contact  the  author  of  LhA  at  the  address given in
  2443.        section 4.1 or at one of the electronic mail addresses below: 
  2444.  
  2445.                  InterNet: boberg@lysator.liu.se 
  2446.                  or      : lha@augs.se 
  2447.                  or      : stefan_boberg@augs.se 
  2448.  
  2449.                  FIDONet : "Stefan Boberg" at node 2:204/404 
  2450.  
  2451.           When sending  in bug reports, please state exactly under what
  2452.        circumstances  the  bug  occurred,  what  equipment was used and
  2453.        what   happened.   If  possible  also  try  to  give  me  enough
  2454.        information  to reproduce the bug.  It is very difficult to find
  2455.        bugs  when  you  don't know exactly what happened.  Please don't
  2456.        just  send  messages  like "it can't extract files from archives
  2457.        sometimes",  that  really  doesn't help me.  If possible, submit
  2458.  
  2459.  
  2460.      
  2461.  
  2462.  
  2463.      V1.10                    LhA User's Guide                  Page 41
  2464.  
  2465.  
  2466.        the offending file/archive to me so I can test it myself.  
  2467.  
  2468.        4.4 Program availability      
  2469.  
  2470.           The latest  version  of LhA is always available for anonymous
  2471.        FTP  at  lysator.liu.se,  in  `/pub/amiga/LhAEval.run' - it is a
  2472.        self-extracting  archive  that  should  be  executed from CLI or
  2473.        WB2.0  to  extract  the contents.  It will also be available for
  2474.        FidoNet  FReq  from  AUGS  BBS  in  Linköping, Sweden, under the
  2475.        magic filename `LHA', the node number is 2:204.404.  
  2476.  
  2477.        4.5 License       
  2478.  
  2479.        1.  This  license  applies to the product called "LhA", a set of
  2480.           programs  for  the  Commodore-Amiga  computer,  published  by
  2481.           Stefan  Boberg  under  the  concepts  of  ShareWare,  and the
  2482.           accompanying  documentation,  example files and anything else
  2483.           that   comes   with  the  original  distribution.  The  terms
  2484.           "Programs"  and  "LhA"  below,  refer  to  this product.  The
  2485.           licensee is addressed as "you".  
  2486.  
  2487.        2.  You   may   copy  and  distribute  verbatim  copies  of  the
  2488.           programs'  executable  code  and documentation as you receive
  2489.           it,  in  any  medium,  provided  that  you  conspicuosly  and
  2490.           appropriately   publish   only   the   original,   unmodified
  2491.           programs,  with  all  copyright  notices  and  disclaimers of
  2492.           warranty   intact   and   including   all   the  accompanying
  2493.           documentation,  example  files  and  anything  else that came
  2494.           with the original.  
  2495.  
  2496.        3.  You  may  not  copy and/or distribute these programs without
  2497.           the  accompanying  documentation  and  other additional files
  2498.           that  came  with  the  original.   You  may  not  copy and/or
  2499.           distribute modified versions of these programs.  
  2500.  
  2501.        4.  You   may   not  copy,  modify,  sublicense,  distribute  or
  2502.           transfer  the  programs  except  as  expressly provided under
  2503.           this   license.   Any  attempt  otherwise  to  copy,  modify,
  2504.           sublicense,  distribute or transfer the programs is void, and
  2505.           will  automatically terminate your rights to use the programs
  2506.           under  this  license.   However,  parties  who  have received
  2507.           copies,  or rights to use copies, from you under this license
  2508.           will  not  have  their  licenses  terminated  so long as such
  2509.           parties remain in full compliance.  
  2510.  
  2511.        5.  By  copying,  distributing  and/or  using  the  programs you
  2512.           indicate  your  acceptance  of this license to do so, and all
  2513.           its terms and conditions.  
  2514.  
  2515.        6.  Each  time  you  redistribute  the  programs,  the recipient
  2516.           automatically  receives  a license from the original licensor
  2517.           to  copy, distribute and/or use the programs subject to these
  2518.  
  2519.  
  2520.      
  2521.  
  2522.  
  2523.      V1.10                    LhA User's Guide                  Page 42
  2524.  
  2525.  
  2526.           terms  and  conditions.   You  may  not  impose  any  further
  2527.           restrictions  on  the  recipients'  exercise  of  the  rights
  2528.           granted herein.  
  2529.  
  2530.        7.  You  may  not disassemble, decompile, re-source or otherwise
  2531.           reverse engineer the programs.  
  2532.  
  2533.        8.  You  may  use the programs for a period of up to 30 days for
  2534.           evaluation.  After that, you have to register.  
  2535.  
  2536.        9.  If  you wish to incorporate parts of the programs into other
  2537.           programs, write to the author to ask for permission.  
  2538.  
  2539.        10.  You  agree  to  cease  distributing  the  programs and data
  2540.           involved if requested to do so by author.  
  2541.  
  2542.        11.  You  may  charge  a fee to recover distribution costs.  The
  2543.           fee  for  diskette distribution may not be more than the cost
  2544.           to obtain a public domain diskette from Fred Fish.  
  2545.  
  2546.  
  2547.        4.6 Disclaimer       
  2548.  
  2549.           THERE IS   NO  WARRANTY  FOR  THE  PROGRAMS,  TO  THE  EXTENT
  2550.        PERMITTED  BY  APPLICABLE  LAW.  EXCEPT WHEN OTHERWISE STATED IN
  2551.        WRITING  THE  COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE
  2552.        PROGRAMS  "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
  2553.        OR   IMPLIED,   INCLUDING,  BUT  NOT  LIMITED  TO,  THE  IMPLIED
  2554.        WARRANTIES  OF  MERCHANTABILITY  AND  FITNESS  FOR  A PARTICULAR
  2555.        PURPOSE.   THE  ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF
  2556.        THE  PROGRAMS IS WITH YOU.  SHOULD THE PROGRAMS PROVE DEFECTIVE,
  2557.        YOU  ASSUME  THE  COST  OF  ALL  NECESSARY  SERVICING, REPAIR OR
  2558.        CORRECTION.  
  2559.  
  2560.           IN NO  EVENT  UNLESS  REQUIRED BY APPLICABLE LAW OR AGREED TO
  2561.        IN  WRITING  WILL  ANY  COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO
  2562.        MAY  REDISTRIBUTE  THE PROGRAMS AS PERMITTED ABOVE, BE LIABLE TO
  2563.        YOU  FOR  DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
  2564.        CONSEQUENTIAL  DAMAGES  ARISING  OUT  OF THE USE OR INABILITY TO
  2565.        USE  THE  PROGRAMS (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR
  2566.        DATA  BEING  RENDERED  INACCURATE  OR LOSSES SUSTAINED BY YOU OR
  2567.        THIRD  PARTIES  OR A FAILURE OF THE PROGRAMS TO OPERATE WITH ANY
  2568.        OTHER  PROGRAMS),  EVEN  IF  SUCH HOLDER OR OTHER PARTY HAS BEEN
  2569.        ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.  
  2570.  
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.  
  2579.  
  2580.      
  2581.  
  2582.  
  2583.      V1.10                    LhA User's Guide                  Page 43
  2584.  
  2585.  
  2586.        5 Acknowledgements       
  2587.  
  2588.        Haruyasu Yoshizaki  For releasing the source of the original LHA
  2589.                             for  MSDOS.   The  source  was  used  as  a
  2590.                             reference  when  writing  this  program. No
  2591.                             actual  code  was  copied from this source,
  2592.                             rather  LhA  was  written  from scratch for
  2593.                             the Amiga.  
  2594.  
  2595.        Haruhiko Okumura  For  devising  the -lh5- and -lh4- compression
  2596.                             algorithms,  and for releasing the C source
  2597.                             for  these  to  the  public  domain.  These
  2598.                             sources  were  used  as  a  reference  when
  2599.                             writing  the  680x0  assembler  versions of
  2600.                             the  compression  and  decompression  code.
  2601.                             Some  algorithms were replaced with my own,
  2602.                             faster ones.  
  2603.  
  2604.        Robert K.Jung  For making the feature-packed ARJ for MSDOS, from
  2605.                             which   several   ideas  for  commands  and
  2606.                             features was included in LhA.  
  2607.  
  2608.        Paolo Zibetti  For making the first LhArc-style archiver for the
  2609.                             Amiga,  which  made  me  interested in file
  2610.                             archivers  and  advanced  data  compression
  2611.                             techniques.  
  2612.  
  2613.        Jonathan Forbes  For making the -lh1- compression routines of LZ
  2614.                             slightly  faster  than those of my previous
  2615.                             (unfinished)  program  `LhArcA'.   This was
  2616.                             one  of  the  reasons  that  made  me start
  2617.                             writing  this  program.  Another reason for
  2618.                             writing   LhA   was   that   LZ   had  some
  2619.                             misfeatures and did not work as intended.  
  2620.  
  2621.        Ron Birk  For  digging  out  the  source codes I needed before I
  2622.                             gained access to InterNet myself - Thanks! 
  2623.  
  2624.        LhArcA users  Big thanks to all of you who registered for LhArcA
  2625.                             and  LhA  even  before  the  programs  were
  2626.                             finished  (LhArcA  never was, but those who
  2627.                             registered  will  receive LhI/LhA when it's
  2628.                             finished).  
  2629.  
  2630.        LhA users  Big  thanks  to all who registered for LhA V1.00, and
  2631.                             even  bigger  thanks  to those who reported
  2632.                             bugs   and   problems   with  the  previous
  2633.                             releases  -  without you this program would
  2634.                             never be what it is now.  
  2635.  
  2636.  
  2637.           The license  agreement  was  heavily inspired by the TrapDoor
  2638.  
  2639.  
  2640.      
  2641.  
  2642.  
  2643.      V1.10                    LhA User's Guide                  Page 44
  2644.  
  2645.  
  2646.        license,  which in turn was inspired by Jack Radigan and the GNU
  2647.        General public License.  
  2648.  
  2649.           The manual  was  formatted with a modified version of `proff'
  2650.        (originally  written  for  VAX/VMS/MSDOS  by  Ozan S.  Yigit and
  2651.        Steven Tress).  
  2652.  
  2653.           The program  was  developed  using the Lattice C Compiler and
  2654.        Assembler   on   a  25MHz  Amiga  3000.  Great  compiler,  great
  2655.        computer! 
  2656.  
  2657.           Inspiration provided  (in  order  of  significance) by Linda,
  2658.        Depeche  Mode,  Pet  Shop  Boys,  Erasure,  OMD, Electronic, The
  2659.        KLF/JAMS, Yazoo, Tears for Fears, Simple Minds and Kraftwerk.  
  2660.  
  2661.  
  2662.  
  2663.                     ... Post aspera grata ...  
  2664.  
  2665.  
  2666.  
  2667.  
  2668.  
  2669.  
  2670.  
  2671.  
  2672.  
  2673.  
  2674.  
  2675.  
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.      
  2701.  
  2702.  
  2703.      
  2704.  
  2705.  
  2706.                               Table Of Contents
  2707.  
  2708.                                   LhA V1.10
  2709.  
  2710.        1 - Introduction     .....................................    1
  2711.           1.1 About the manual    ...............................    1
  2712.           1.2 System requirements     ...........................    1
  2713.           1.4 Terminology      ..................................    1
  2714.           1.5 LhA - what is it?  ................................    2
  2715.           1.6 What is a file archiver anyway? ...................    2
  2716.           1.7 Why should I use LhA?  ............................    4
  2717.              1.7.1 How fast is it?   ............................    4
  2718.           1.8 Compatibility and Amiga-specific features   .......    6
  2719.           1.9 About the author program history and future........    7
  2720.        2 Reference guide     ....................................    9
  2721.           2.1 Command line syntax    ............................    9
  2722.              2.1.1 Specifying options     .......................    9
  2723.              2.1.2 Specifying commands     ......................    9
  2724.              2.1.3 Specifying archives     ......................   10
  2725.              2.1.4 Specifying action files    ...................   10
  2726.              2.1.5 Home directories     .........................   10
  2727.              2.1.6 Recursive file collection    .................   11
  2728.              2.1.7 Specifying destination directory    ..........   13
  2729.              2.1.8 `@'-files      ...............................   13
  2730.              2.1.9 LhA limitations     ..........................   13
  2731.           2.3 Pattern matching     ..............................   15
  2732.              2.3.0 Exactly what is pattern matching anyway? .....   15
  2733.              2.3.1 Accepted pattern tokens    ...................   15
  2734.                 2.3.1.1 Question mark (?)    ....................   15
  2735.                 2.3.1.2 Star/Asterisk (*)     ...................   16
  2736.                 2.3.1.3 Hash mark (#)    ........................   16
  2737.                 2.3.1.4 Square brackets ([])    .................   16
  2738.                 2.3.1.5 Parentheses and the vertical bar  .......   17
  2739.                 2.3.1.6 Tilde (~)     ...........................   18
  2740.                 2.3.1.7 Percent sign (%)    .....................   18
  2741.           2.4 Commands      .....................................   19
  2742.              2.4.1 `a' Add files to archive  ....................   19
  2743.              2.4.3 `d' Delete files from archive  ...............   19
  2744.              2.4.4 `e' Extract files from archive  ..............   20
  2745.              2.4.5 `f' Freshen files in archive  ................   20
  2746.              2.4.8 `l' List archive contents (terse)  ...........   20
  2747.              2.4.9 `m' Move files to archive  ...................   21
  2748.              2.4.14 `p' Print files to stdout  ..................   21
  2749.              2.4.17 `t' Test archive integrity   ................   22
  2750.              2.4.18 `u' Update archive    .......................   22
  2751.              2.4.19 `v' List archive (verbose)   ................   22
  2752.              2.4.20 `vv' List archive (full)   ..................   23
  2753.              2.4.21 `x' Extract files with path  ................   23
  2754.           2.5 Options      ......................................   25
  2755.              2.5.1 `-a' (upx) Preserve file attributes  .........   25
  2756.              2.5.2 `-A' (upd) Set archive attributes  ...........   26
  2757.              2.5.3 `-b' (all) Set I/O buffer size ...............   26
  2758.  
  2759.  
  2760.                                     - I -
  2761.  
  2762.  
  2763.      
  2764.  
  2765.  
  2766.              2.5.5 `-c' (all) Confirm files   ...................   27
  2767.              2.5.6 `-C' (ext) Clear arc-bit on extract ..........   27
  2768.              2.5.8 `-D' (all) Alternate progress display  .......   27
  2769.              2.5.11 `-f' (all) Ignore filenotes   ...............   28
  2770.              2.5.12 `-F' (all) Use fast progress display ........   28
  2771.              2.5.16 `-i' (all) Read filelist from file ..........   29
  2772.              2.5.17 `-k' (all) Keep partial files  ..............   29
  2773.              2.5.18 `-l' (ALL) Make filenames lowercase  ........   30
  2774.              2.5.19 `-L' (ALL) Create filelist   ................   30
  2775.              2.5.20 `-m' (ALL) No messages for query ............   31
  2776.              2.5.21 `-M' (ext) No autoshow files  ...............   31
  2777.              2.5.22 `-n' (upx) No byte progress indicator .......   31
  2778.              2.5.23 `-N' (all) No progress indicator  ...........   32
  2779.              2.5.25 `-p' (ALL) Pause after loading  .............   32
  2780.              2.5.26 `-P' (ALL) Set task priority  ...............   32
  2781.              2.5.27 `-q' (ALL) Be quiet   .......................   32
  2782.              2.5.28 `-Q' (ALL) Alternate option set  ............   32
  2783.              2.5.29 `-r' (add) Collect action files recursively .   33
  2784.              2.5.30 `-R' (ALL) Collect archive files recursively    33
  2785.              2.5.32 `-S' (add) Set A-flag on archived files......   34
  2786.              2.5.33 `-t' (ext) Only new files  ..................   34
  2787.              2.5.34 `-T' (upx) New and newer files ..............   34
  2788.              2.5.35 `-u' (ALL) Make filenames uppercase  ........   34
  2789.              2.5.36 `-U' (upx) Set update interval  .............   35
  2790.              2.5.37 `-v' (add) Set compression speed  ...........   35
  2791.              2.5.38 `-w' (upd) Set work directory  ..............   35
  2792.              2.5.39 `-x' (all) Preserve and use pathnames .......   36
  2793.              2.5.40 `-X' (ALL) Do not append suffix .............   36
  2794.              2.5.41 `-Y' (add) Store big files with ratio........   36
  2795.              2.5.42 `-z' (add) Do not compress files ............   36
  2796.              2.5.43 `-Z' (add) Compress archives   ..............   37
  2797.              2.5.45 `-0' (add) Use LhArc 1.x compression ........   37
  2798.              2.5.46 `-2' (add) Use LhA compression  .............   37
  2799.              2.5.49 `-Qh' (add) Set Huffman buffer size .........   38
  2800.           2.6 Autoshow files     ................................   38
  2801.        4 Politics      ..........................................   39
  2802.           4.1 Registration      .................................   39
  2803.           4.2 Distribution      .................................   40
  2804.           4.3 Support      ......................................   40
  2805.           4.4 Program availability     ..........................   41
  2806.           4.5 License      ......................................   41
  2807.           4.6 Disclaimer      ...................................   42
  2808.        5 Acknowledgements      ..................................   43
  2809.  
  2810.  
  2811.  
  2812.  
  2813.  
  2814.  
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.                                     - II -
  2821.  
  2822.